I’m trying to build a simple sequential caching pipeline in Houdini TOPs using ROP Fetch nodes, but I clearly don’t understand the intended workflow.
My goal is straightforward:
I have about 10 - 15 different cache nodes
Most but not all are unrelated to each other
I want them to run one after another
Each stage should fully finish before the next begins
Example:
Cache A (240 Frames) → Cache B (only one "Frame" needed, not time dependant) → Cache C (a Sim with 240 Frames)
Some caches are frame ranges/sims, others are single-shot/static exports.
The problems I keep running into:
Chaining ROP Fetch nodes directly seems to multiply work items/frames unexpectedly
Wait for All doesn’t seem to behave the way I expect
Downstream nodes sometimes start cooking even when upstream isn’t finished
I don’t understand when to use:
All Upstream Items are Generated
All Upstream Items are Cooked
batching
Single Frame vs Frame Range
ROP Node Configuration
I feel like I’m missing the core mental model of how TOPs wants dependencies and work item generation to work.
What is the standard/simple production workflow for sequential cache stages in TOPs? Especially when mixing:
sims
frame-based caches
static exports
I’m not trying to build a giant distributed farm setup. I mostly just want a reliable “do this, then this, then this” cache pipeline without unexpected parallelism or frame explosions.
sequential caching pipeline
391 1 1-
- chf
- Member
- 203 posts
- Joined: 11月 2015
- オンライン
-
- alexmajewski
- Member
- 136 posts
- Joined: 8月 2017
- オンライン
From your description, you do need to use Wait for All.
ROP Fetch -> Wait For All -> ROP Fetch -> Wait For All -> ROP Fetch.
All the other settings you mentioned are irrelevant for your goal. Unless, alternatively, you set all your ROP Fetches to cook all frames in a single batch, it would achieve the same effect since there would now be a queue of single work items I suppose.
Previous node's work items are like a multiplier for subsequent node's work items. If you use Wait For All you bring work items back to "1".
ROP Fetch -> Wait For All -> ROP Fetch -> Wait For All -> ROP Fetch.
All the other settings you mentioned are irrelevant for your goal. Unless, alternatively, you set all your ROP Fetches to cook all frames in a single batch, it would achieve the same effect since there would now be a queue of single work items I suppose.
Previous node's work items are like a multiplier for subsequent node's work items. If you use Wait For All you bring work items back to "1".
-
- Quick Links

