Allow `Render Window` (image; layer; window) at different FPS

Currently Render Window nodes run at c.60 FPS. For some things we may want to run at a high frame rate. It would be great to have a menu that would allow us to select the FPS of the renders. We may want a UI to use less processing power, and other times we may want to run at 120FPS. Also there may be situation where we want to use 75FPS to sync with projects etc.


Render to Window always render image when event becomes through image port. So, if you send an image with event 5 times per sec it will render with 5 fps. You can check frequency of events by clicking on input port of Render Window node. So you can actually control render rate.

Currently Render Window nodes run at c.60 FPS.

This behavior takes place when you refresh images or generate them with cable taken from Requested frame port of Render to Window node. In this case refresh rate is taken from refresh rate of window screen. Try experimenting of other monitor refresh rates - you’ll see that events rate of requested frame port will change.

I was able to do a test, and fire an event into a render window node at c.800 fps- the output “requested frame” of window event was c.60 fps.

Maybe the output window “requested frame” event doesn’t actually adhere to the refresh rate of the node- but rather a predefined value?

Adding to the helpful info that @dumski gave (thanks!) —

For Render * to Window, the Requested Frame port is tied to the display refresh rate. (Excerpt from documentation: "When the display is ready for the next frame, fires an event with the time at which the frame will be rendered, measured in seconds since the composition started. ")

If you’re rendering graphics to your own screen, there wouldn’t be any advantage to Render * to Window trying to render more than 60 fps if your display refresh rate is 60 fps.

If you want to increase your display refresh rate, you can do that in System Preferences > Displays.

If you want to fire events at a rate other than the display refresh rate, you can use Fire Periodically.

If you want to execute some nodes multiple times per frame (perhaps for a feedback effect), you can use Spin Off Events.

@alexmitchellmus, does that cover the situations you have in mind, or if not, could you elaborate on the situation where you’d want a menu to change the Requested Frame firing rate?

Great @jstrecker! So if I set a monitor to 120hz (one that can handle that obviously) then ’render window’s will run at 120hz automatically? Fantastic!!!

Yep, adjusting your monitor’s refresh rate will adjust the rate at which Requested Frame fires. I think that provides the behavior you were asking for, so I’ll mark this FR closed.