cragl vfx tools | Nuke Python Tools and Plugins | smartRender


smartRender

multithreaded background rendering and super fast feedback for NUKE smartRender

Dramatically reduce your rendering times

smartRender lets you reduce your rendering times and makes rendering dramatically faster compared to the standard rendering process. It uses all your hardware resources efficiently to speed up the processing.


Get super fast feedback

smartRender supports the ability to speed up preview renderings. While your comp is work in progress where you want to get instant feedback you can use incremental renderings and down scalings to get get your previews in seconds instead of waiting for some minutes.


Detailed job log with export functionality

smartRender lets you view a detailed log for the job which lets you also detect rendering errors. All job logs can be exported as text files.


Customize your rendering commands

smartRender works out of the box producing fast renderings but if you have some programing experience you can even edit, change and customize smartRender's processing commands so you can fully customize it to your needs.


FAQ

Do you have any question about smartRender? make sure to read our tools specific faq for smartRender.

Features

• Multi threaded background rendering for NUKE
• Dramatically speed up your renderings
• Batch render multiple jobs
• Super fast feedback preview
• Detailed job log information
• Customize render commands to your needs


Compatibility

Nuke8, Nuke9, Nuke10, Nuke10.5, Nuke11

Linux, Mac, Windows

where to buy

download trial

Please use our free tool connect to download your smartRender trial.

Render time comparisons

The following shows some direct 1:1 real time render comparisons between smartRender and NUKE's default rendering method. We tested different nuke scripts of different scale with different machines and different operating systems. Each test is a real time recording of the exact same nukescript on the same machine. In our tests rendering with smartRender was always faster, sometimes even incredibly 4 times faster. As these comparisons are quite long feel free to simply skip through them and have a look at the comparison chart at the end of each video. The brave ones watch the whole video in one go :-D


Render comparison 01 - 11:56 min vs 21:40 min


Nuke script size: large
Machine: MacPro 6,1 3GHz 8-Core Intel Xeon E5 32GB 1866 MHz DDR3
OS: MacOSX 10.9.5
Nuke version: Nuke9.0v5
Node count: 811 nodes
Description: A large nuke script containing a lot of 2D and 3D nodes.

smartRender: 11:56
Standard rendering: 21:40

smartRender used only 54,5% of the standard rendering time.

Render comparison 02 - 08:50 min vs 38:41 min


Nuke script size: small
Machine: MacBook Pro 11,3 2,5GHz i7 16GB 1600 MHz DDR3
OS: Ubuntu 14.04.4 (ubuntu trusty tahr)
Nuke version: Nuke10.0v1
Node count: 68 nodes
Description: A small size nuke script containing full cg compositing, inclusive vector blurs with high motion vector samples and a pretty render intensive TVI scale node to upscale the whole image in the end.

smartRender: 08:50
Standard rendering: 38:41

smartRender used only 22,9% of the standard rendering time.

Render comparison 03 - 03:04 min vs 08:04 min


Nuke script size: small
Machine: MacBook Pro 11,3 2,5GHz i7 16GB 1600 MHz DDR3
OS: MacOSX 10.10
Nuke version: Nuke8.0v1
Node count: 4 nodes
Description: A simple nuke script using motion blur with a high sample rate and a median with a high size.

smartRender: 03:04
Standard rendering: 08:04

smartRender used only 64% of the standard rendering time.

Render comparison 04 - 07:55 min vs 24:57 min


Nuke script size: middle
Machine: HP Z800 2,67GHz 24 Core 64GB 1600 MHz DDR3
OS: Windows7
Nuke version: Nuke8.0v7
Node count: 383 nodes
Description: A mid size nuke script including cg compositing into real shot footage.

smartRender: 07:55
Standard rendering: 24:57

smartRender used only 31.8% of the standard rendering time.

Render comparison 05 - 02:28 min vs 09:37 min


Nuke script size: middle
Machine: MacPro 6,1 3GHz 8-Core Intel Xeon E5 32GB 1866 MHz DDR3
OS: MacOSX 10.9.5
Nuke version: Nuke9.0v5
Node count: 112 nodes
Description: A mid size nuke script. This time we did a background rendering method for the standard rendering.

smartRender: 02:28
Standard rendering: 09:37

smartRender used only 24,9% of the standard rendering time.

Render comparison 06 - 05:48 min vs 08:34 min


Nuke script size: middle
Machine: MacPro 6,1 3GHz 8-Core Intel Xeon E5 32GB 1866 MHz DDR3
OS: MacOSX 10.9.5
Nuke version: NukeStudio9.0v8
Node count: 362 nodes
Description: A mid size nuke script combining CG elements with real shot footage. This time we did a timeline rendering method in NukeStudio with 16 render threads for the standard rendering and a 16 threads render using smartRender.

smartRender: 05:48
Standard rendering: 08:34

smartRender used only 67,7% of the standard rendering time.

Documentation

The written documentation can be found here: smartRender documentation

FAQ for smartRender

Here you will find some frequently asked questions on smartRender. Please make sure to read them first. Please also have a look on the documentation. If you have any question that is not listed in here please don't hesitate to contact us. We are pleased to help you.



How do I install smartRender?

Each cragl tool can be installed via cragl connect - our free tool to install and manage all of your cragl tools directly inside NUKE. If you haven't already done so please download connect.
By opening connect you will see a list of all cragl tools. You can drag and drop it to the right hand side of the connect window to reveal more infos. Just click on "buy". After purchasing you will receive an install code for your tool. Now simply click "install now" and enter the received install code. The tool will be downloaded and installed automatically for you. So you don't need to struggle with any install issue.

smartRender doesn't render as expected. How can I trouble shoot my work file?

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 slower than rendering it the traditional way. That is because your rendering threads need to open the working file - which takes a few seconds. 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. 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 for interactive Nuke sessions only.

So please convert the gizmos to group nodes and making sure that nothing essential for your workfile to work is being loaded from a menu.py. If your working file still doen'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 fullscreen 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) and specify your used Nuke version and operating system including version. We are happy to help you.

I have problems rendering gizmos

If you use gizmos in your script please convert them to groups ("node" tab -> button "convert to group"). The reason behind this is simple: as the multi threaded rendering is executed in terminal mode each nuke session that processes a frame launches in terminal mode and doesn't load your menu.py file in which your gizmos are most likely loaded to the UI. Although an init.py file should be used for initialization of any gizmos, third party developers are free to add additional logic to their menu.py files - which won't be loaded when running Nuke in terminal mode.

If it comes to processing a frame, your nuke session will raise an error if there is a gizmo inside your processing tree that hasn't been fully initialized through a proper init.py file, the rendering will fail because Nuke doesn't know how to handle an unknown command. In order to avoid this issue, convert your gizmos to groups. It's anyway a good habit to convert all gizmos to groups that so your nuke script is flexible and is transferable to another computer on which the gizmo will probably not be installed.

My computer seems to freeze or is pretty slow after sending a job to render

If you set a high number of threads and your scene is quite heavy your computer is likely to slow down and blocking. This is completely normal as you told your computer to render several frames simultaneously. If you experience a complete slow down and your computer doesn't respond for a long time chances are high that your computer is getting some memory overflow. This is likely to happen on huge nuke scripts where you use multiple threads. To solve this try reducing the number of used threads for that job. Furthermore if you decide to use all available threads for rendering try to shut down other unneeded applications.

Why doesn't smartRender support rendering videos multithreaded?

Because it won't make sense, due to technical limits. This should be clear if you understand smartRender's workflow.

A file sequence contains multiple files. This is perfect for out sourcing to several threads which can render these frames independently from each other. When rendering a single video file though, it should become clear that this task can only be done by one worker because it operates on just one file.

Versions

Here you will find an overview of the smartRender's versions and its improvements. Please log in to download versions.



smartRender v3.2

• Collect executable nodes that are nested in Group nodes and Gizmos
• Ignore executable nodes where no file path has been set
• Add create render directory command to executable nodes context menu
• Open up render process for executable nodes that write to disk
• Add job log button for each job in the job queue
• Add sphinx documentation


smartRender v3.1

• Evaluate expression paths in Write nodes


smartRender v3.0

• Made Nuke11 ready
• Major code updates and code improvements


smartRender v2.1

• fixed bug that caused an error when rendering using -keep existing frames- enabled


smartRender v2.0

• Render info panel to quickly access and edit your renderings
• Batch render multiple shots
• Rendering external nuke scripts without opening them


smartRender v1.1

• added global node changer window
• added automatic cache write node creator
• added input mode to frame range in smartRender window


smartRender v1.0

initial release