Understanding how Houdini cooks SOP nodes.

   1889   1   0
User Avatar
Member
78 posts
Joined: May 2018
Offline
So I am in the process of learning the HDK and had some questions about how things work under the hood.

Given the fact that Houdini uses a bottom-up cooking design, does every node store a copy of its altered geometry, or does it use some other method of tracking what changes have been made(some sort of layer system maybe)?

If I am viewing a node's properties in the detail view, when I switch my selection from the current node to a node higher up in the same chain, does it just grab the info from cached data or does it have to recook the chain for that node?

While caching would be make changing the view between nodes fast, it does seem to come with the downside that memory requirements would increase as the node chain gets longer.
User Avatar
Member
98 posts
Joined: Aug. 2014
Offline
According to my practical experience with Attribute VOPs, it creates a copy of modified (exported) attributes in certain VOP, so, node won't accumulate just everything created by nodes before. It's possible to avoid the copy by enabling ‘compute result in place’, but that's possible only if attribute that is read from first input, like P, is not modified.
When it comes to caching, I think it is definitively not a plain yes or no, generally Houdini is trying to adapt to what you're doing. More of selections all around means faster display, based on more caching, most likely.
It definitively behaves like tracking/checking system under the hood, before it evaluates anything.
You can force caching by locking the node. MMB over SOP/Attribute VOP should display memory usage and changes created by node. Generally it's really good in lazy evaluation. Let's say for deformations, it's enough to just have the independent of animation nodes evaluated before dependent ones, Houdini takes care about the rest. Groups are ‘total option’ if you want to limit the evaluation only to part of mesh.
  • Quick Links