Macha Posted March 7, 2011 Share Posted March 7, 2011 (edited) I have a ropnet with several geometry nodes stringed together. ・I noticed that writing out the rop network is much slower than doing the "geometry output drivers" SOPs individually. I am on my system's memory limit and I wonder if everything in a ropnet is cooked together so that memory usage shoots up. ・I also have nodes with varying frame ranges but the ropnet refuses to do them correctly. Whether I set the nodes to frame-by-frame or node-by-node doesn't make a difference. Only a single frame range setting is applied to all the nodes. Any ideas are welcome. Edited March 7, 2011 by Macha Quote Link to comment Share on other sites More sharing options...
pclaes Posted March 7, 2011 Share Posted March 7, 2011 ・I noticed that writing out the rop network is much slower than doing the "geometry output drivers" SOPs individually. I am on my system's memory limit and I wonder if everything in a ropnet is cooked together so that memory usage shoots up. Are there dependencies between objects? (You can turn on your dependencies for your network in the display settings). Also how have you connected your ropnet together? Is everything merged into a final rop node (parallel), or is it more serial, on node connecting vertically to another? Serial should force one node to wait for the earlier rop to be finished. In regards to memory... Houdini is not very clean with it's memory at times. Sometimes it won't free some caches and if you run out of physical you get into virtual memory (swap to disk) and things will get really slow. So... generally we launch a new process for Houdini per task. This means houdini is "restarted" inbetween rops to force the memory to be cleaned - and yes, you have the overhead of restarting houdini lots of times -but if you limit the amount of assets it loads to whatever is required for a specific show and it's all batch licenses (so no GUI), it will go through fine fairly quickly. Depending on how heavy a task is (say, cache out a 100 frames), a task can be brought down to individual frames, more often it is batches of 10 frames or so. ・I also have nodes with varying frame ranges but the ropnet refuses to do them correctly. Whether I set the nodes to frame-by-frame or node-by-node doesn't make a difference. Only a single frame range setting is applied to all the nodes. Are you using "frame dependency" nodes? If not, try adding those nodes. They will override the frame range of everything connected to them (above). Do you have dynamics in your scene? We ran into a strange bug whereby all dynamic networks in our scenes would start cooking. We got around it by forcing the dynamics to either evaluate or not explicitly with a render flag on the rop. Rops can be really powerful when correctly set up, but it generally needs support from pipeline to work on the renderfarm. I know enough of it to identify where some of the problems lie, but this becomes a pipeline issue quickly. Perhaps HQueue will help you out too, but I have not yet used it a lot. Quote Link to comment Share on other sites More sharing options...
Macha Posted March 7, 2011 Author Share Posted March 7, 2011 Thanks for the detailed explanation Peter. I didn't know rops can be such a complex issue. I will look at it in more detail and see if I can improve my setup. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.