4.4. Controlling the buildup of events

What if a trigger port is firing events faster than the downstream nodes can process them? Will the events get queued up and wait until the downstream nodes are ready (causing the composition to lag), or will the composition skip some events so that it can keep up? That depends on the trigger port’s event throttling setting.

Each trigger port has two options for event throttling: enqueue events or drop events. If enqueuing events, the trigger port will keep firing events regardless of whether the downstream nodes can keep up. If dropping events, the trigger port won’t fire an event if the event would have to wait for the downstream nodes to finish processing a previous event (from this or another trigger port).

Each of these options is useful in different situations. For example, suppose you have a composition in which a Play Movie node fires events with image data and then applies a series of image filters. If you want the composition to display the resulting images in real-time, then you’d probably want the Play Movie node’s trigger port to drop events to ensure that the movie plays at its original speed. On the other hand, if you’re using the composition to apply a video post-processing effect and save the resulting images to file, then you’d probably want the trigger port to enqueue events.

When you add a node to a composition, each of its trigger ports may default to either enqueuing or dropping events. For example, the Play Movie node’s trigger port defaults to dropping events, while each of the Receive Mouse Clicks node’s trigger ports defaults to enqueuing events.

In the Vuo Editor, you can right-click on a trigger port and go to the Set Event Throttling menu to view or change whether the port enqueues or drops events.