fannus

fannus

About Me

Connect

LOCATION
Not Specified
ウェブサイト

Houdini Skills

Availability

Not Specified

Recent Forum Posts

C++/HDK SOP performance on big meshes 2010年6月21日17:19

Hello Houdini Gurus!

I have written a custom SOP node in C++ using the HDK, with the SOP_Star toolkit example as a starting point. It reads in a proprietary mesh data format, and I'm running into some pretty serious performance issues when the amount of data gets large.

When I load up a large dataset, (approx 700k polygons), Houdini gets very slow when scrubbing the time slider (my SOP node has an input that is wired up to $FF). I'd say I'm only able to scrub at about 0.5fps.

This slowness happens regardless of how much time is spent in cookMySop. I have tried debugging this by having the cookMySop function build the mesh on its first execution, and then for subsequent executions, return immediately after parsing the input parameters (using evalFloat, evalInt, etc., just like the SOP_Star example).

I've manually timed the execution of the cookMySop function, and it runs in <1ms, and does absolutely nothing to modify the data of the SOP, yet the scrubbing time is still slow.

What's strange to me about this is that this slowness is relative to the amount of poly data my SOP creates. With small datasets, scrubbing is fast.

Is there some operation that is being performed on the geometry under the hood by Houdini every time the cookMySop function is run? Maybe there is a way that I can tell Houdini that cookMySop hasn't actually changed any geometry?

I'd appreciate any feedback you guys could give!

error propagation in output/ROP subnetwork nodes 2009年7月17日21:34

I'm using Houdini 9.5.379, and I'm creating an Output Subnetwork, it works great and everything that's inside the subnetwork gets rendered when I hit the render button.

The problem is that if one of the renders inside the subnetwork fails, I want to know about it. By default, you have no way of knowing whether anything failed or succeeded under the hood.

Is there a setting on the Subnetwork node to make it so that any errors on the internal nodes trickle up so that they are visible in the Subnetwork node?

This is a really important feature for the workflow in which I'm using the Subnetwork. It would be fine if it was something as simple as “Nodes inside this Subnetwork have errors”. I just need to know for sure that everything succeded; otherwise, every time I render, I have to open up the subnetwork and inspect its contents to verify this.