Can a USD Render ROP have flush data per frame?

   609   4   2
User Avatar
Member
3 posts
Joined: July 2023
Offline
Hello all,

I am fairly new to Houdini and Solaris.
The USD ROP has this option for flush data after each frame, which is very nice to prevent RAM crashes.
I am trying to understand how the USD Render ROP works, does it create a intermediate USD ROP and then renders it? Can this flush data after each frame be applied there as well?

Thank you for your help!
Edited by doggo - July 3, 2025 05:15:43
User Avatar
Member
258 posts
Joined: Jan. 2015
Offline
Never tried this myself, but maybe restart-delegate from https://www.sidefx.com/docs/houdini/ref/utils/husk.html [www.sidefx.com]here [www.sidefx.com] works.
User Avatar
Member
3 posts
Joined: July 2023
Offline
Heileif
Never tried this myself, but maybe restart-delegate from https://www.sidefx.com/docs/houdini/ref/utils/husk.html [www.sidefx.com]here [www.sidefx.com] works.

Thank you for your answer, our problem happens before husk is even launched.
For a bit of context, we have experienced out of memory issues when using the USD Render ROP, essentially the USD intermediate failed to be created because it was a very complex scene (terabytes worth of sims).
To solve this issue, instead of using the USD Render ROP, we created an intermediate USD file with the USD ROP and the "Flush data after each frame" parameter activated, and then we forwarded this USD file to husk, and that worked, but it would be ideal to simply use the USD Render ROP.
Is there a way to prevent out of memory issues with the USD Render ROP? or is there a way to expose the "Flush data after each frame" in the USD Render ROP?
User Avatar
Member
275 posts
Joined: Feb. 2016
Offline
Did you try setting --restart-delegate=1 in the extra husk variables?
Sounds like it's exactly what you're after

edit:
If you're trying to avoid having to write out all the usds before render, then it's probably possible to get that to somewhat work by doing:
  1. ROP USD to write out the usds (it has an checkbox to flush data).
  2. And then pipe that into a USD render file
  3. Clean up temporary usd files with file delete

OR
You could try to use USD render Scene set to LOP node. This also has a flush data toggle
Edited by AslakKS - July 3, 2025 06:15:30

Attachments:
flush.png (51.6 KB)

User Avatar
Member
3 posts
Joined: July 2023
Offline
AslakKS
Did you try setting --restart-delegate=1 in the extra husk variables?
Sounds like it's exactly what you're after

edit:
If you're trying to avoid having to write out all the usds before render, then it's probably possible to get that to somewhat work by doing:
  1. ROP USD to write out the usds (it has an checkbox to flush data).
  2. And then pipe that into a USD render file
  3. Clean up temporary usd files with file delete

OR
You could try to use USD render Scene set to LOP node. This also has a flush data toggle
Image Not Found

Thanks for your comment AslakKS, I'll give it a try the USD Render Scene TOP. Unfortunately the husk argument you mention won't do it because it would crash before husk is launched (at USD creation)
  • Quick Links