Search - User list
Full Version: ROP Composite Output, how to batch succefully?
Root » PDG/TOPs » ROP Composite Output, how to batch succefully?
Johan Boekhoven
I'm unable to make any performant setup when I have the following data to start with.
  • 6 jpg Image sequences, all starting at a different frame. 101-122, 201-222 etc. All same length.
  • file pattern node which grabs all

I tried to use just all workitems separate though the composite output, or partition by range, 6 partitions of 22 items each.
When I have all items separate it processes extremely slow, I tried upping frames per batch but that didn't help. I'm thinking that for each workitem a new hython instance is started. Frames per batch etc, don't do nothing. Processing this manual in a COP network is plenty fast for my needs, but this is unbearably slow.

So what would be the best approach to have ROP Composite Output efficiently process image sequences from disk.
Can I better build some attributes like frame start/end and filename_$F.jpg to feed the ROP Composite Output?

I'm not sure what works with what on this node, I find the whole setup a bit confusing.

Any help or sample files appreciated. (screenshot image is the superslow setup)
tpetrick
The ROP Fetch node can currently only create batches over a frame range. A batch work item will cook the target ROP node from the start frame to the end frame in the same Hython process. However, if all of your work items have the same frame then it's not possible for it cook them in a batch. Each work item will end up in its own batch with a size of 1.

Instead of using a File Pattern, you should use the File Range node or a Range Generate to ensure your work items have the correct frame information on them. I've attached an example file with some simple Composite networks that work out of the box using images in $HFS.

There is also a larger example in $HFS/houdini/pdg/top_rop/rop_wedge.hip that uses the Composite node. That example is described in detail in the FX tutorial in the documentation. The section regarding using the COP node can be found here: https://www.sidefx.com/docs/houdini/tops/tutorial_pdgfxworkflow.html#step-8-collect-and-organize-the-overlay-images [www.sidefx.com]
Johan Boekhoven
Thanks for the quick response! Will look at it first thing when I wake up
Much appreciated. I had a semi working option as well by not using the ROP Composite, and using ROP Fetch and a python generator to generate the frame range per partition and a file name looking like filename$F.jpg, looking at your comment, I think File range provides similar results.

Again thanks, will study the files and links!
Johan Boekhoven
To anyone interested I solved it like this.

I wanted to have on ROP node to process all ranges separately and in proper range order, so I could have 1 COP network when I need to change the settings. But I settled on this as ROPcomposite can also reference a separate COP network. All ranges are working fine and it starts 6 Hythons to process 6 ranges. So it works out great now.
Thanks again @tpetrick!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB