Troubleshooting

Warning

It is crucial to understand that simply bumping up threads in smartRender will not always necessarily mean a faster render result! Read on to understand why.

Each NUKE working file is unique. From a technical point, there can’t be a one-fits-all solution to generate the fastest output possible.

Please note that each used thread will open your working file in the background and render the necessary frames. If you have a small working file then increasing the thread count to a high number is reasonable. However, if you have a large working file then using a high thread count could potentially process slower due to the heavy working file that needs to be opened N times. In that case, see if reducing the thread count solves this. Often times, you might get the fastest results by using 4-8 threads but that depends heavily on your used system and your available resources and of course on the working file.

Often times the key in getting the fastest possible result is in having an optimized working file. There are many good articles out there that discuss best practices for Nuke node trees. Discussing these here are out of the bounds of this documentation. Following best practices and creating clean working files is a good starting point to guarantee quick results.

Keep also in mind that experimenting with the amount of threads is sometimes key. While one working file might work well when setting up a high amount of render threads will probably not work the same for another working file.

How can I trouble shoot my smartRender jobs?

If smartRender does not work properly on your working file then you should check a few things. Keep in mind that each working file is individual and has its own node structure so there is no general ‘This is the way to do’. However, going through the following steps will ensure that your working file will render by a high chance.

1) Please check your job log. Any error should be reported in here. This will hopefully give you a good hint which nodes cause trouble rendering.

2) Although smartRender has been tested on all major platforms with all major Nuke versions, please double check that a default working file setup is working as expected on your machine: For that please create a very simple setup and render it on your Desktop. For instance, create a checkerboard and connect it to a Write node and set up the render path to let it render to a folder on your desktop. Try to render this simple working file using smartRender. Keep in mind that rendering such a simple working file might probably be slower than rendering it the traditional way. That is because your rendering threads need to open the working file - which takes a few seconds. Plus there is a small overhead involved.

If your final rendering location is a server, then move forward with your simple setup and try rendering into your final render location on your server – Or wherever your location is. This is to ensure that running in terminal mode, Nuke has the file permissions to render to the final render location.

If this simple setup renders successfully, then we are on a good way and have made sure that smartRender itself works as expected on your end and that the render issue is somewhere located in your working file. Keep reading.

3) Please convert your gizmos to group nodes. Make sure that they are initialized through init.py files and not menu.py files. The same must be the case for any third party nodes and/ or plugins. The reason for that is simple: smartRender uses Nuke’s terminal mode to render. The terminal mode does -not- read/ load any menu.py file. These module files are intended for interactive Nuke sessions only.

So please convert the gizmos to group nodes and making sure that nothing essential for your work file to work is being loaded from a menu.py. If your working file still doesn’t render using smartRender then keep reading.

4) Probably a certain node/ some certain nodes refuse to render in terminal mode. In order to further trouble shoot your working file please try to render just a specific section from it. If this specific section renders, then try the next section. This should quickly give you a hint which nodes cause trouble when rendering in terminal mode.

5) smartRender is a terminal renderer: You can see what the terminal will execute by doing the following: Export your job log, open it and copy one of the lines of the terminal “input section” (1 line is one command - you will probably need to expand your file to full screen to grab one whole line). Paste the copied line into your terminal and have a look at the output. If there is any problem rendering it will appear in here.

6) Temporarily disable all other custom python scripts and plugins that you are customizing your Nuke with. From a technical point of view it is definitely possible that other custom scripts might cause issues with smartRender’s rendering process. So temporarily disabling all other custom python scripts and plugins is a good way of checking that nothing interferes.

7) Please contact our support. Please include your working file (just the .nk file, no sources are required) and specify your used Nuke version and operating system including version. We are happy to help you.

Please also have a look at the smartRender faq for further trouble shooting.