Wondering if there is any method I could use to lower framerate (let’s say to 24 fps) and enhance performance, for ex., with a
Fire Periodically node, with the desired result to create some “headroom” for adding more stuff to a comp. Let’s say I have a comp processing video clips, and I want multiple/duplicate streams, i.e., chains of nodes. I wonder about something like setting up a
Fire Periodically to fire at 24 fps, then delaying the event fired down a second chain. If I am willing to give up fps, is there anything I could set up to eek out more performance?
Another question is, does a
Fire Periodically node in an Image Generator protocol (say, used in VDMX) cause trouble? Can I create an independent timebase using Vuo within VDMX?
Just a quick answer to your second question part : use ‘allow periodic events’ rather than Fire Periodically in Protocol modes ;) EDIT : sorry did not see your “indépendant timebase”. You mean you don’t wanna use the main time port ? Use fire on display refresh then maybe ? Or a “Measure Time” node !?
For the first part without testing yes probably use ‘decode movie image’ at slower fps?
Ah, thanks for the tip on
Allow Periodic Events. That node was under my radar.
As far as using the main time port, here’s my concept, and I’m wondering if there is any way to approach it in Vuo. Let’s say, for example, that the main time port is running at the equivalent of 120 fps. I’m wondering if I can run chains of events staggered at lower framerates so that events only fire every (say) sixth frame (1, 7, 13, etc.) , and whether I can then stagger (delay) chains to run in between (for ex., on frames 2, 8, 14, etc.)
I guess this assumes enqueued events? Or maybe dropping frames makes this idea a moot point? Muddy thoughts…
As for “independent timebase”, I’m just wondering whether some type of forced lower fps along chains of events inside Vuo would help at all, and wondering how that would translate to VDMX.
You can use a
Select Output node to skip every Nth event. Or use a
Hold Value to merge a faster event stream into a slower one.
SelectToSkipEvents.vuo (3.66 KB)
HoldToCoordinateEventStreams.vuo (3.01 KB)
With an Image Generator or Image Filter running in VDMX, you can adjust the FPS —
If you change it from the default (0) to 30 or 10 or whatever, that’s how many times per second your composition will get published input events. (Tested in VDMX5 b0.8.6.2.5 with the attached compositions.)
Ideally when running an Image Generator or Image Filter, your published outputs should get the same number of events as your published inputs. If not every event reaches the published outputs, VDMX seems to handle that by imposing a timeout, which is better than the alternative (freeze/hang) but means your composition output will be jerky / low FPS. If extra events from a trigger reach the published outputs, it’s not doing you any favors. Depending on the composition it might look weird, and it’s not as efficient.
ImageGeneratorCount.vuo (2.37 KB)
ImageFilterCount.vuo (2.58 KB)
@jstrecker, awesome, thank you for these. Happy New Year!
Following up – these examples were (deceptively) simple and clear, helpful in clarifying how event flow works in Vuo. Thanks again, Jaymie.
I changed the frame rate in vdmx from default 0 to 25 and saved the project. But after reopening it always comes with default 0 again.
Is there any way to make it permanent 25? Would this be something that can done from vuo or is this more vdmx question?
Thank you for any help.
@kokot, that would be a question for the VDMX team/community.