Nuke Quick Tip: Write Node / Rendering

How to how to render in the background in Nuke and how to render on "twos" or just specific frames.

Just a reminder. The LearnVFX Ask Me Anything Livestream is TODAY!

What: Break Into VFX: Office Hours with Aaron

When: Nov 4, 2023, 3:00 PM Mountain Time. (5pm Eastern, 2pm Pacific)

Where: The LearnVFX YouTube Channel

https://www.youtube.com/watch?v=QZoiWV9hiZU

The Write node is the focus of today’s Quick Tip.

Did you know Nuke has a little “render queue” built right in? It’s called the Frame Server and many folks seem to overlook it entirely which is a shame.

The Frame Server allows you to render in the background while you continue working in the foreground in Nuke. You can also use it to queue up several renders to automatically render in your active Nuke session. To use the Frame Server, click the “Render” button or use the menu option Render>Selected Write Nodes… or hit F7 with the write node you’d like to render selected. When the dialog comes up you will see that it has the option “Render using frame server”.

Clicking that check box and hitting “OK” will send this job to the frame server, which is basically a local render queue. You can send as many jobs as you like to it and Nuke will just keep cooking away on them until they are all done.

If you’d like to monitor the progress of the jobs you can use the Background Renders Tab, which will typically dock itself in the same panel as the Properties tab once you have added jobs to the frame server.

I highly recommend that you render out work-in-progress versions as you are working on a comp. It’s what us professionals do. There are always details that are hard to spot without playing down the final comp at full frame rate. It’s also nice to have a “back pocket” version ready on disk at any time so you can show it to a supervisor or lead if the need arises.

If you’d like to learn more about the frame Server the official documentation has a dedicated page for it: https://learn.foundry.com/nuke/15.0/content/comp_environment/rendering/frame_server_renders.html

One caveat regarding the Frame Server is that it currently does not support GPU accelerated nodes. Most nodes that can be accelerated by the GPU will fall back to CPU but depending on which node we are talking about it could be substantially slower compared to being run in the main UI. It’s just something to aware of. (If you are rendering in the background anyway, are you really in that much of a rush? Plus, maybe you’d prefer to keep the GPU bandwidth available for your interactive session in the foreground anyway.) There are other methods for making simple local render queues for Nuke that don’t suffer from the lack of GPU acceleration issue which I’ll cover in a future Newsletter.

This next tip is in the manual under “Defining Frame Ranges” but unless you are the kind of person who enjoys reading every page in software manuals it’s easy to miss.

Sometimes, especially on draft versions of long shots, you might be content to only render out your comp on “twos” (every other frame). It’s half as much rendering and hence you can get through the render twice as fast. But how do you do it in Nuke? It’s similar to other programs like Maya. Let’s say the frame range you want to render is 1079-1500. To render on “twos” what you would put in the Frame range field of the Render dialog is 1079-1500/2. (According to the manual, it can also be written as 1079-1500x2)

If you wanted to render on “fours”, you would put 1079-1500/4 and so on for “eights”, etc.

Let’s say you would only like to render specific frames like the first, middle and last frame. What you would do is put in the frame numbers each separated by a comma. Using the example frame range above, what you would put into the Frame range dialog box is 1079,1211,1500

You can also mix and match. Let’s say you would like to render the first, middle and last frame and then the 10 frames following the first frame, in that case you would enter 1079,1211,1500,1080-1090

This can also of course be stacked with the rendering on twos trick as well. 1079,1211,1500,1080-1499x2

Rendering a frame range of 1079-1500 really isn’t a lot of frames but checking the first, middle and last frames and skipping frames like this can be useful for spot checking truly long shots of thousands of frames. Once you are content things are looking good you can commit to rendering all the frames.

Whatever your strategy, you should always be rendering out work in progress versions as you reach salient milestones in the progress of your shot. Hopefully the above tips give you some ideas you can roll into your own workflow.