Turbo Tools V4 - Turbo Render, Temporal Stabilizer, & Turbo Comp

by 3d illusions in Addons


Turbo Render

The UI is very simple to understand, and offers options to ensure the best possible results for any scene and sample settings. 


Instructions:

It's extremely important to understand that Turbo Render can only provide a speed up if the samples are set lower than when you weren't using Turbo Render. This is because Turbo Render provides a speed up by being able to produce high quality results from renders that are too noisy for the denoisers in the render panel to produce high quality results from. So take the samples as low as possible without reducing image quality, either by using the sample pre-sets, or using the 'user' sample pre-set mode which allows you to enter the sample setting manually.

It's also important to understand that the biggest gains (often several hours) are to be had on renders that take a long time when not using Turbo Render.  Scenes that already render quickly (a minute or two) can't be reduced as significantly.  For scenes that already render quickly it's advisable to use the 'fast/draft' denoise mode unless you notice wobbly geometry, or if you need to work with the individually denoised passes in the compositor after rendering).  Here's a video explaining that: https://www.youtube.com/watch?v=HzCm_vp6R2M

Turbo Render is designed with ease of use being a top priority. In the Turbo Render Options area, simply click enable, choose a sample pre-set to automatically set up the sample settings to the desired quality, choose the cleaning mode (combined image or clean passes), tell it what's in the scene, and render. That's it! Turbo render will then analyse the scene and other render settings to produce the final render. IMPORTANT ensure a default project cache folder for new scenes is specified in the addon preferences, and that each scene has a valid cache folder set prior to rendering. The scene's cache folder can be set at the bottom of the Turbo Render options, or in the compositor's N panel turbo tab. If you the 'User' sample pre-set, then to achieve the biggest speed gains, you should reduce your samples below what you would usually need. Turbo Render is so fast because it's able to produce clean images from noisier render results than other denoisers can.  The cache folder must not be a relative path (a path that starts with '//'), so when setting it, make sure you uncheck the relative option in the Blender file explorer as shown below:


Turbo Render is compatible with:

  • Still renders
  • Animations
  • Existing compositor trees
  • Rendering of multiple scenes and view layers from a single compositor (all scenes will use their own Turbo render settings).
  • All Turbo Comp features (caching, publishing, resaving file output nodes without re-rendering etc)

Options:

Denoising Modes -

  • Draft (clean image pass only) - The new draft mode offers extremely fast denoising, and when combined with the 'enhance textures' option will provide results that could be considered to far surpass what would be expected of a draft render, even at extremely low samples. Also suitable for renders which render to a denoisable level in under 10 seconds, thanks to it's fast processing times.
  • Medium (clean image pass only) - The medium option is slightly slower than Draft, but on noisier images will offer better all round detail, particularly in reflections.
  • High (clean image pass only) - The high mode will offer the best lighting, shadows and reflections of all but the ultra mode. This is suitable for final renders where the individually denoised passes aren't needed for compositing.
  • Ultra(cleans all necessary passes)- This will clean individual passes for use in the compositor afterwards, and can also be used to resolve any geometry wobbliness present in lower pre-sets. The passes which are cleaned is decided by scene content and render settings. This mode can also be used if the other modes are not producing good geometry detail. IMPORTANT - If you intend to use the individually cleaned passes in a 3rd party compositor, you can either use the render layer cache exr's found in the cache folder you set, or if you prefer another format, you can set up a file output node directly from the render layer node. Blender's output can be set to something light such as a ffmpeg because it's only able to output the denoise image pass, not the other denoised passes. If your passes include data passes such as cryptomattes, it's advisable to use EXR 32 bit.

Cycles Speedup Options -

  • Optimise HDRI - This will optimise the importance map, leading to potentially faster renders and less RAM usage. The improvement will be most noticeable with HDRI world environments which are 8k or above, and will reduce memory consumption during rendering by around 1GB for a 16k HDRI.
  • Prevent Fireflies - Recommended. This will reduce the chance of fireflies and also provide a potentially massive render time reduction (scene dependant).

Sample Pre-sets - A quality level for every occasion. No more messing about trying to find the ideal render sample settings, simply choose the desired quality and hit render. Modes include: Crap, Medium, High, Ultra, Insane, User. For animations you may want to use your own sample settings, as these have been optimised for fast still images. Using them for animation may cause inconsistencies between frames.

Recommended minimum sample presets to use for each denoise mode:


Very Dirty - Very dirty should be used if you're using very low samples or still have noise in the image after it's been denoised.

Interior Scene - Adjusts the render pre-sets to produce better results for interior scenes or scenes with a lot of indirect illumination.

Animation- This will optimise your chosen sample pre-sets for animations.

Enhance Textures -  This will ensure that texture detail is maintained even at very low samples. In draft mode it will also improve reflections and shadows.

Visible to Camera - Use these options to specify what the camera will be able to see. This in combination with various other render settings (light bounces, film etc) enables the system to choose the optimal approach to ensure the best results. Uncheck what's not needed to ensure the fastest processing time. Turning on Heavy DOF/Motion Blur, Emission, and enabling the 'behind volume' sub options is not always necessary (particularly at higher render settings), so try leaving those off for increased performance, only enabling if you notice noise around the edges of objects, or noise behind volumes.

Problem Solving - Automatically fix common rendering issues if they're visible after rendering. Only enable if you encounter problems, because if the problem isn't present the workarounds will be detrimental to rendering speed or glossy levels (depending which you enable). IMPORTANT - If you enable the 'swirly/blotchy artefacts' option, and you also have the 'animation' option enabled in the turbo render options, then it's advisable to change the sample pre-set to 'user', disable the noise threshold checkbox, and set your own samples. The reason is, when the swirly artefacts option is enabled, adaptive sampling is disabled, meaning the max samples will be used for each pixel, and because the animation options increases the max samples to at least 600 (even for crap sample pre-set), you'll have potentially unnecessarily long render times.


Checklist

  • IMPORTANT - Make sure you have selected the lowest possible sample pre-set for your scene.  Turbo Render's speed gain is only achieved when using lower samples than you would usually use.  Find the optimum setting quickly by rendering a small render region of the noisiest area of the render.  Repeatedly render and reduce the samples until you find the lowest number of sample that don't negatively impact image quality, the turn off the render region before rendering properly.  For the most control, consider using the 'User' sample pre-set mode, as this will allow you to optimise noise threshold, min and max samples.
  • IMPORTANT - If you have Blender set to use a different language, to ensure the addon functions correctly, you need to untick the option to create new data in your selected language. The addon occasionally creates temporary data blocks and then refers to them by name, if you have new data enabled, then the name will be translated to something other than it's looking for, and you'll get an error. You can change the language setting in the Blender preferences: 

  • A render layer cache folder is set, and it's not a relative path. It needs to be an absolute path such as 'c://something/something/' and not '//something/'

  • Make sure you have 'very dirty' enabled at low samples, otherwise you'll get noise even after denoising.
  • Make sure you put a tick in the visible to camera section for every surface type in the scene. Failure to do this will result in un-denoised elements.  Don't tick options that aren't in the scene, otherwise this will increase render time unnecessarily.
  • If your camera has strong DOF or motion blur and you notice noise in those areas after rendering, be sure to tick the 'Heavy DOF/Motion Blur' option.  You can tell if the scene has DOF if near or far objects are blurry compared to the focal point.
  • Avoid enabling 'optimise HDRI' in scenes that don't use a HDRI in the world environment, or if the HDRI is lower resolution than 4096 pixels wide.
  • Only use the 'avoid fireflies' option in scenes with very strong lighting or a hdri, otherwise the brightness of highlights and reflections will be impacted.
  • Blender's own output is not set to multilayer EXR. If you need multilayer EXR In your third party compositor, you should use the render layer cache generated by turbo render instead.

  • Avoid the principled BSDF's Sheen option for optimal results. You can use a layer weight and a mix node into the base colour instead:

  • IMPORTANT - if you've already rendered with Turbo Render previously, check the compositor node tree doesn't have any small minimised nodes covering the render layer node. On extremely rare occasions Blender fails to run the queued up python scripts after rendering. This results in the turbo render not being able to put the compositor tree back to it's pre-render state which will lead to incorrect render results when next rendering. It's extremely rare, and only usually happens if system resources are dangerously low. If it happens, remove the additional nodes, check the links are correct, and turn off any render passes that shouldn't be on. See troubleshooting for more details.

The new Draft mode is able to produce surprisingly good results even at extremly low samples. This is the classroom scene rendered in 16 seconds on a gtx 1070 using only 12 samples! On a more modern GPU such as a mid range 3070, this would complete in under 5 seconds based on Blender's benchmark website!


Command line rendering

To render from the command line use:

Animation:

blender -b "E:\blender\benchmark scenes\classroom\Classroom.blend" --python-expr "import bpy; bpy.ops.threedi.render_animation()"

Still image:

blender -b "E:\blender\benchmark scenes\classroom\Classroom.blend" --python-expr "import bpy; bpy.ops.threedi.render_still()"

Alternatively you can use the included script (command line rendering script(TT 3.0.5 or above.py) which can be found with instructions in the download area.  The script allows for multi machine rendering and temporalizing.

If you want to set other things such as output directory, frame range, etc, then refer to:

https://docs.blender.org/manual/en/latest/advanced/command_line/render.html#single-image

Full Video demonstration showing Turbo Render and Turbo Comp here:


Limitations

Due to a Blender limitation/Bug, it's not currently possible for the addon to support Fast GI Add mode. Bug report here: https://projects.blender.org/blender/blender/issues/105332

Rendering scenes from the VSE is not supported, for batch rendering please use the supplied command line python script.

Trouble Shooting  (temporal stabiliser has it's own troubleshooting section further down)


The render menu is empty - You have a conflicting addon, most likely one that modifies menu's such as the 'Clean Panels' addon. In the case of the Clean Panels addon, adding Turbo to one of it's panels will resolve. If it's not Clean Panels, then try installing Turbo Tools after starting Blender in factory mode to ensure there are no conflicts. You can open blender with the factory start-up using the file named  'blender_factory_startup.cmd' from the blender folder. After installing Turbo Render in factory mode you can then re-install your old addons until you find the addon responsible for the conflict. Ensure that addon is turned off when using Turbo Render in future. Also check Turbo Tools is assigned the f12 and ctrl f12 keys in the Blender preferences.

When using higher sample pre-sets I get strange swirly artefacts - There is currently an issue with Blender's adaptive sampling, which can cause swirly artefacts with AI denoisers. It doesn't happen often, but is most likely at high sample settings, and in areas of a render that receives insufficient samples (such as when the rays are widely scattered by a close by volume). You can see the bug report here: https://developer.blender.org/T99135.


To fix the issue, you can either:

Tick the 'swirly/blotchy artefacts' checkbox in the problem solving area and re-render.  This will fix the issue automatically.

Or:

If you want to fix it manually, you can set the sample pre-set to 'user', then scroll down to the render sample settings (shown below), untick the noise threshold, and then manually set the samples. To find the best sample setting, draw a small render region around the part of the render which takes the longest to clear up during rendering, and then repeatedly render, lowering the sample each time, until you start to notice a loss in details/quality. During this process, ensure you have the 'render region' and 'crop to render region' checkboxes ticked in Blender's output properties, to make sure only the small region is being denoised and not the areas of the image outside of that region.

This is currently part of a high priority list of cycles improvements at the Blender Foundation - https://developer.blender.org/T74581, so should hopefully be fixed by the Blender developers in the near future.

Some passes aren't denoised even when I use Ultra denoising mode -  This is correct behaviour, only  passes used to rebuild the combined image pass are denoised.  These are the diffuse, glossy, transmission, volume, emission and environment passes.  If any of those ray types contain a colour pass as well as the direct/indirect, the colour pass will be denoised only if necessary (based on the turbo render settings you choose).  You can force the colour passes to denoise by enabling the 'Heavy DOF/Motion Blur' option in the Turbo Render settings.

If you need the other passes denoising such as AO, Mist, custom AOV's, or light groups, then you can add a denoise node after each of their sockets on the render layer node or render layer cache node before you render, and optionally save the results to a separate file using the file output node in the compositor.


The render layer cache isn't there after a render, or when I press refresh all - The cache folder must not be a relative path (a path that starts with '//'), so when setting it, make sure you uncheck the relative option in the Blender file explorer as shown below.  If you've already rendered with it set to a relative path, that's fine, the cache has been created, so all you need to do is change it to an absolute path, and then click refresh all. The render layer cache will then be loaded in.

Turbo Render isn't providing any speed gains - Turbo Render's speed gain is only achieved when using lower samples than you would usually use, and the biggest gains (often several hours) are to be had on renders that take a long time when not using Turbo Render.  Scenes that already render in under a minute can't be reduced as significantly (for this type of scene always use the 'fast/draft' denoise mode unless you notice wobbly geometry, or if you need to work with the individually denoised passes in the compositor after rendering).  For maximum speed up, find the optimum sample setting quickly by rendering a small render region of the noisiest area of the render.  Repeatedly render and reduce the samples until you find the lowest number of sample that don't negatively impact image quality, the turn off the render region before rendering properly.  For the most control, consider using the 'User' sample preset mode, as this will allow you to optimise noise threshold, min and max samples.

The image doesn't get denoised even if Turbo render is enabled - This is caused by another addon assigning itself to the f12 key before Turbo Render can. To check this you can open the render menu and check if 'Turbo Tools Render Still Image' shows 'f12' to the right of the menu entry. If not, you can either launch it directly from the menu, or you can right click the menu item and choose to assign the f12 key manually (same for 'Turbo Tools Render Animation'). There's nothing I can do about this behaviour, as it's completely luck of the draw which addon will be registered first.

This could also happen if you've packed the cache exr into the .blend file, as Blender will force the cache node to use that instead of the most recent render result, unpack the exr and click 'refresh all' to load in the most recently rendered cache file.

Turbo Render takes longer to render than Blender's denoising options - Render time is identical, but dependant on the mode chosen, the denoising process afterwards can take approximately 5 to 20 seconds longer (i7-7700k), but because the results are superior, you can lower the render settings to more than compensate. For the fastest possible denoising time, make sure you have set the Turbo Render options to represent your scene accurately, turning on Heavy DOF/Motion Blur and Emission is not always necessary (particularly at higher render settings), so try leaving those off for increased performance.

I don't see much of an improvement - Turbo Render will provide the biggest improvements with scenes that are difficult to render and have multiple passes (diffuse, glossy, transmission, emission, etc), for example indoor scenes with lots of indirect lighting, scenes with very fine detailed texture information on reflective surfaces, volumes, heavy SSS, etc. For scenes that already render quickly you should use the Draft denoising mode to avoid unnecessary processing times.

For scenes that only have data on one pass (such as glossy indirect but virtually nothing on glossy direct), a multipass denoiser such as Turbo Render can't offer any benefits due to the nature of multipass denoising. In this case you could either use the standard OIDN from the render panel, or if you want to take advantage of the non denoise features Turbo render provides such as 'enhance textures', firefly removal' and 'Optimise HDRI', use Draft mode to avoid unnecessary processing.

When I have the real time compositor enabled in the 3d viewport, I only see a static image - The viewport compositor needs the render layer node to be wired up in the compositor. If you have a render layer cache node in the compositor, you’ll just get a static image of the last rendered image in the 3d viewport when the real time compositor is enabled.

So if you have render layer cache node, before using viewport compositing, it’s necessary to click the render layer node, and click cache/uncache. That’ll remove the render layer cache node and wire back up the render layer node. The cache node will be automatically re-created and wired up next time you render, or if you want to get it back before that, you can just click refresh all in the compositor to automatically bring it back and wire it up.

My animation has flicker - The render settings are not high enough, if using one of the render pre-sets, then it's recommended to use the 'high' setting as a minimum. In the kitchen scene above high took just over 1 minute per frame including denoising (still a huge improvement on the 4 hours per frame without denoising). You could also use the new temporal stabiliser in the compositor panel (only available if the scene was rendered with Turbo Tools (with or without Turbo Render)).

Render fails to start with error message 'KeyError: 'bpy_prop_collection[key]: key "Background" not found' - You have Blender set to use a language other than English. This is fine, but you need to untick the 'New Data' option, so that things created by Turbo Tools don't get translated:

Blender Crashes - This could happen if there's a conflicting addon or if you've accidentally download the wrong zip file for your Blender version. First check the zip file ends with your Blender version, for example, 'blender_turbo_boost_v_2_0_5_ for blender3_1_0' is only compatible with blender 3.1.0. If you are using the correct zip file, try installing the addon after starting Blender in factory mode to ensure there are no conflicts. You can open blender with the factory start-up using the file named  'blender_factory_startup.cmd' from the blender folder. After installing Turbo Render in factory mode you can then re-install your old addons until you find the addon responsible for the conflict. Ensure that addon is turned off when using Turbo Render in future. Another possibility is that you're using E-Cycles with it's own denoiser enabled (Turbo Render is not currently tested with any engine other than Cycles, but I intend to look into ensuring full compatibility with other engines such as E-Cycles at a later date).

Blender becomes unresponsive - If your system only just meets the minimum system requirements, or you're rendering at massive resolutions, you may have insufficient system resources, leading to prolonged processing times/unresponsiveness. Try closing all other open programs before trying again, if you still have issues, then it's likely your system doesn't meet the below system requirements, in this case you should only use fast mode, as this is the least system intensive. Alternatively you may have chosen a cache location with insufficient space for the cache files.

I've set Blender to output a multilayer exr, and even though I have Turbo Render set to the 'Ultra' denoising mode, the passes aren't cleaned in the resulting exr file blender generates - Blender can only output the cleaned image pass, all other passes will be un-denoised, instead you can either use the render layer cache files directly in your 3rd party compositor, or the second option is to connect a file output node to the render layer node or the render layer cache node, and set it to multilayer exr. In the Turbo Comp panel you can use the 'create and wire' operator to automatically add the file output node for you.

I've set Blender to output a multilayer exr, and in the resulting EXR file there are additional passes that I didn't enable - Blender's own output should be set to something like such as ffmpeg or jpg, and then in your third party compositor you can use the render layer cache EXR's generated by Turbo Tools instead. This is necessary becuase Turbo Render needs to enable additional passes during rendering so that it can operate correctly, so if you set Blender's output to multilayer EXR, then those additional passes will be captures, whereas only the passes you select are stored in the Turbo Render cache files.

Unicode error when pressing f12 - Ensure you have no special characters in the scene name, camera name and viewlayer name.

The render layer cache doesn't match the render/chosen Turbo Render settings - You've packed the render layer cache exr so it's using the packed version. Unpack the file and then click refresh all or render again to update to the correct cache file on disk.

Blender error 'Failed to write to tile' - This is a non addon related error which generally means there's insufficient disk space in the temp directories cycles uses. Clear some disk space, and also consider placing Turbo Tools compositor cache directory on a different drive, as this can grow quite large for long animations.

When I render with Turbo Render disabled, the compositor still generates a render layer cache node - This is correct behaviour, Turbo Tools will always generate render layer cache even if Turbo Render is not enabled. This is necessary so that you can utilise all the tools in the Turbo Comp panel (caching, publishing, resaving of file output nodes, etc). If you don't want this to happen while the addon is installed for some reason, you can perform a standard render by using alt f12 (still image), or alt ctrl f12 (animation). Make sure you hook back up the render layer node before doing this (see the cache/uncache section of the instructions above)

Parts or all of the render are black after using Turbo Render - Firstly make sure your computer meets the minimum specifications below for the resolution you're trying to render. If so, check the f12 key is assigned to the turbo tools render operations, check the below troubleshooting step (nodes left in the tree after rendering). If non of the above, then this is a known bug in Blender that affects the open image denoiser (which this addon uses). In that case please subscribe to one of the many open bug reports on the blender bug tracker. Here's one of them: https://developer.blender.org/T76668 . In the meantime, try and reduce system resource usage during rendering, and if possible render at a lower resolution, or on a machine with more RAM.

The same frame keeps being rendered, even during an animation - You've packed the cache file, which results in the packed EXR always loading instead of the most recent rendered frame's cache EXR.  Unpack the cache file, then click refresh all to reload the cache EXR for the current frame.  Make sure you don't have 'Automatically pack resources' enabled in the file/external data menu.  To unpack, click this button on the render layer cache node:

and choose this option:


The denoising process is suddenly taking an excessive amount of time, or Blender is crashing when it starts denoising - See below section, and if that isn't the cause, then the resolution is too high for your CPU to denoise quickly. In this case make sure you only have the necessary visible to camera options checked otherwise the denoising will be taking a long time needlessly. You can also change to a lower denoise mode, which will still provide excellent results at higher resolution but denoise much faster.

After the render completes, the result doesn't look correct (noisy etc), and/or there are extra nodes left in the compositor, or on future renders Blender is crashing when it starts denoising (or taking an unreasonable amount of time to denoise) - Usually this is caused by an extremely rare Blender bug that prevents Turbo Tools from putting the scene and compositor back to it's pre-render state, and loading in the correct cache file after rendering completes. If this happens the compositor will get duplicate denoising networks each time you click render, leading to potential crashes due to insufficient system resources for that amount of denoising networks.

To avoid any of those problems, turbo tools will show the below popup message when it fails to revert the tree (but if you're moving the mouse it may disappear before you see it):

So all you need to do is open the undo history from the edit menu, or by pressing the shortcut 'ctrl alt z' and choosing the entry 'revert to pre-render state'.

Then to load in your new rendered cache, click refresh all from the turbo panel in the compositor's n panel:

If the problem continues to happen, restart Blender before rendering again.

If you missed the above popup message, and the entry is no longer visible in the undo history, then you'll need to manually revert the scene to it's pre-render state.

Firstly delete all nodes from the compositor, except for:

  • Those you've added
  • render layer node
  • composite node
  • viewer node

Make sure the image output socket of the render layer node is connected to the image input of the composite/viewer node (or to the correct sockets on the nodes you've added yourself)

Next, turn off any passes that shouldn't be enabled (turbo render turns some on when you click render).  Generally the sockets shown on the render layer cache node indicate which passes you had on previously if you're unsure.

before

after

Then in the turbo panel of the compositor's n panel, click 'refresh all' to load in the new cache:

If the problem continues to happen, restart Blender before rendering again.


Recommended Minimum System Requirements

CPU - Quad Core that runs at over 4ghz (The processing is multithreaded, so the more cores the better. Anything below 4ghz will still work, but the processing times may be unacceptable on low core count machines)

Ram - for a 1080p render, 3gb to 4gb of memory should be free prior to starting rendering (This memory requirement will quadruple each time you double the render resolution. For example 4k renders will require approximately 12gb to 16gb of free ram. If your system has paging turned on, then when ram is depleted the hard drive will be used instead, which will be very slow)

Operating system - Any

Hard Drive Space - Sufficient space for the cache files (at 16 bit, approx 50MB per render layer node per frame + 5MB per standard 30% cache node)



Turbo Comp


Full Tutorial


Instructions:

  1. download the addon
  2. go to the blender preferences -> addon section
  3. choose to install
  4. choose the zip file you've downloaded
  5. IMPORTANT! Set the cache location in the preferences or in the compositors N panel.  This should be a non system drive for maximum performance and stability.  Ensure this is set to something unique for each project to avoid overwriting any cache you haven't finished with.
  6. render the scene (the compositor will automatically generate the render layer cache for you.)
  7. go to the compositor (if you're not already there) and start compositing.


For best performance, place a cache node on a single wire that leads to the composite and viewer nodes before rendering, this will generate lower quality cache in addition to the full quality render layer cache, ensuring faster playback due to it only needing to load the smaller standard cache EXR each frame rather than the full resolution cache EXR.

The Caching System:  

Scene Cache Folder

The location that the current scene's cache and standard cache will reside on your computer. This can be accessed from multiple computers at once, for example if one is rendering and you want to begin compositing on a different computer before rendering has finished. This is also a full render management system which allows you to automatically reload the cache in any blend file that has matching credentials (scene name, camera name, viewlayer name). For this reason be careful not to change scene,camera and viewlayer names after rendering, otherwise the cache won't be found.

Animation

Enable this if you want all frames to be cached. When disabled only the latest render cache and standard cache files will be kept.

Validate Cache

When enabled this will check that nodes downstream of the cache node still have the same parameter values, and if not will automatically recalculate the tree and update the cache files for just the necessary frames. This can be very slow, so only use it after adding a new cache node, or if you know the cache is out of date (for example if you've changed a property on a node which is downstream of the cache node). Only applicable when animation is enabled. No need to enable directly after rendering, as all the cache will have been created during rendering so it's guaranteed to be up to date at this point.

If you find that the cache is not being updated for some reason (i.e. if you've changed something other than a node parameter such as resolution), you can select cache nodes and click 'clear cache of selected'. This will delete the cache from disk and force an update.

Cache/Uncache

This will cache the selected nodes at a resolution determined by the 'new cache resolution' slider, or if they're already cached, will uncache them. Avoid caching render layer cache nodes, as this may cause issues with automatic rewiring following a render.

If you press this with a cached render layer node selected (not a render layer cache node), then all render layer cache nodes for this render layer node will be discarded and their links moved back to the render layer node, useful for returning the tree back to it's original state before sharing the file with someone who doesn't have the addon. The render layer cache EXR file will remain on disk to avoid accidentally losing potentially thousands of frames of render data, so these will need to be deleted manually from the specified cache folder. Standard cache node EXR's will be deleted from the cache folder as these can be re-created without the slow process of re-rendering the 3d scene.

Cache Resolution

Determines the resolution of new cache nodes. This will need to be set appropriately for your system to avoid too much frame dropping. On a i7 7700k 30% provided fast FPS when the main render output was set to 1920 x 1080.

Refresh All

This will update all standard cache nodes for the current frame. Will also generate cache nodes for uncached render layer nodes if cache files exist in the cache directory (means you can never lose your work, even after closing blender without saving!).

Refresh Selected/Upstream

This will refresh only the selected cache node and any cache nodes that rely on it upstream. This saves time unnecessarily refreshing downstream nodes that you know are up to date, particularly if those downstream nodes rely on nodes that take a long time to calculate (denoise nodes etc).

Clear Cache of Selected

This will delete the cache from the hard drive but will not remove the cache node. Handy if you need to force the cache to update.


File output node section

You can select a node or multiple nodes, then hit 'create and wire'.  This will generate a file output node for each selected  node, automatically create the links, and specify a directory and file name to save to.  

The only wired option will only wire up the sockets on the selected node, if the socket already has a link.

Resaving

Select the file output nodes that you want to generate new images, and then either click resave current frame, or resave all frames (creates an image sequence for the entire animation length as set in the render properties)


Performance

Sync Mode

If you notice playback is slower than the scene FPS, then you can choose 'frame dropping' from the menu, this will skip some frames to preserve the correct FPS. Ideally this should be set to 'Play Every Frame' if you have 'Validate Cache' enabled, otherwise cache regeneration will become quite sporadic during playback. This will also affect the 3d viewport, so be sure to change back before switch back to the 3d viewport.


Important performance consideration.

  • Only enable the passes you actually need. The more passes, the bigger the cache file, and the slower the load time.
  • Reduce the tree to a single cache node if possible. This will prevent the render layer cache node which may have many passes from re-loading during playback.
  • In the addon preferences, consider lowering the render layer cache bit depth to 16bit, as this will reduce the cache file size considerably, leading to faster load times.


Publish


Publishing generates a new animation from your most recently rendered frames that have an active render layer node present in the compositor , and save the frame or animation with the location and format specified in Blender's output settings.  Audio will also be included in any movie formats if you have audio in the VSE (ensure no video is present in the VSE otherwise it will take precedence over the compositor). Animation flicker will also be removed during publishing if you enable the 'remove temporal flicker' option.

Publish Current Frame

Saves the result of the compositor as a still image to the location and format specified Blender's output property panel.

Publish Animation

Saves the result of the compositor as an animation or image sequence to the location and format specified Blender's output property panel.

Remove Temporal Flicker

Removes the flicker in animations caused by denoisers always producing a slightly different results on each frame.  Can only work for renders that don't use Cycles motion blur (Cycles can't generate the necessary vector data when motion blur is enabled).  If you want motion blur, you can add it in the compositor afterwards using a vector blur node (ensure you have vector and depth passes enabled prior to rendering).

Include File Output Nodes

With this option enabled any unmuted file output node will generate a new image sequence at full resolution (handy if you want to generate multiple variations).  Note that only the active composite node can generate movie files with audio.

Quick Publish

Quick publish will use the cache to publish without recalculating the tree. For this reason, it's a good idea to drop down a 100% cache node after parts of your node tree that you don't intend to edit after rendering, this will generate cache during the render ( a huge advantage vs taking your renders to a 3rd party compositor).

Show progress in image editor
Image editors set to ‘viewer node’ mode will show the progress of the publish operation. This is extremely useful if temporal stabilsiation is enabled, because it allows you to spot issues immediately rather than having to wait until the entire animation has been processed, so you can quickly find the ideal settings for each scene.

temporal intelligence

a new suite of tools that analyse the render to avoid artifacts, allowing the temporal stabiliser to be used for far more complex animations than was previously possible.
surfaces only
Limits stabilisation to the 3d geometry to avoid artefacts on the world environment and other non geometry elements. The temporalise aliasing setting can be used to control how much of the anti-aliasing between the 3d geometry and world environment gets stabilised. Keeping it quite low avoids jagged edges or incorrectly colour pixels around objects. Also avoids ghosting of objects in the world environment.  The temporal data can only be generated for local worlds, so ensure linked worlds are made local if you intend to use this option during publishing.
motion analysis
motion analysis will analsye the movement of geometry across mutliplee frames to avoid all types of artefacts except those in reflections or behind glass.
max deviation
Exclude pixels from temporalisation if they are above this number of pixels away from the expected movement.
smooth
The stabilised pixels will be blended with the unstabilised pixels based on how close to the tolerance threshold they are. If a pixel is close to the tolerance threshold then the pixel will be mostly the original pixel. If the pixel is far below the tolerance, it will be mostly stabilised. Can help avoid obvious transitions. 0.02 is usually a good value

variable tolerance
The tolerance will increase as the distance from the camera increases. Enable if distant objects are still flickering, but you can’t increase the tolerance without introducing artefacts on geometry near to the camera. Avoid if possible as this will increase the time it takes to stabilise each frame. The increment value defines how much the tolerance will increase by per scene unit (measured from the camera to the pixel).
depth perception
Considers the distance of each pixel from the camera across frames. Helps to eliminate general artefacts and artefacts in mirrors and glass
max deviation
Maximum distance a pixel can move away or toward the camera between frames. Greater movement will result in the pixel not being stabilised to avoid artefacts. Too low and nothing will be stabilised, 0.5 is usually a good value.
Smooth and variable tolerance operate the same as described in the motion analysis section above.
surface recognition
Considers the pixels location on the surface of the object. Pixels will only be stabilised if all frames represent the same location on the object’s surface within the specified tolerance. Use if artefacts appear on complex moving objects such as wheels or cogs and motion analysis and/or depth perception are unable to solve.  The temporal data can only be generated for objects with editable materials, so ensure all linked materials are made local if you intend to use this option during publishing.
tolerance
Increase to allow surrounding surface points to contribute to stabilisation. The range is 0 to1, with 0 being an exact match, 1 being the full length of the objects surface away (a fractional percentage of the surface area).
Smooth and variable tolerance operate the same as described in the motion analysis section above.
object recognition
Makes sure that all pixels being considered for stabilisation belong to the same object. Helps to avoid ghosting of one object onto other objects as they pass over each other. Should generally never be necessary, but may prove useful if an objects motion is exceptionally odd, and motion analysis and depth perception are unable to fix.  The temporal data can only be generated for objects with editable materials, so ensure all linked materials are made local if you intend to use this option during publishing.
tolerance
a tolerance of 0 might feel like the right choice, because an object should never be mixed with another, but a slight tolerance is usually necessary to avoid artefacts in anti aliased areas where multiple objects might be present.
Smooth and variable tolerance operate the same as described in the motion analysis section above.
correct errors
This is a fix all. It detects stabilisation errors after the fact, and then either fully or partially reverts to the un-stabilised version of the pixel. This is the fastest correction method, but if your animation is very flickery, then in addition to removing artefacts, it could re-introduce flicker if the flicker has been corrected by more than the allowable change!
allowable change
if the stabilisation process has caused a pixel to change by more than this amount, then revert to the unstabilised version of that pixel.
smooth
the correction strength is variable based on the degree of the error. 0 to 1, with 0 meaning completely replace pixels that have changed more than the allowable change, 1 means the more the pixel has changed the more it will revert to the unstabilised pixel.
Selective Stabilisation
If any cache nodes are selected before publishing, then only those cache nodes will be stabilised (providing they are generated from a scene that has temporal stabilisation enabled).
Exclude from stabilisation with masks
remove artefacts on elements that can’t be fixed, without having to use settings that impact how effective flicker removal is. To do this, make a copy of your render layer cache node (shift d), and then use a mix node to combine the two identical render layer cache nodes. The original should go into the top ‘image’ socket, and the second into the bottom ‘image’ socket. Then use a cryptomatte or any other type of mask to mask out specific objects or materials, and use that to drive the mix node’s fac slider. Before publishing select first render layer cache node. This will ensure that only first node is stabilised, and the mix node will mix back in the second node’s unteporalised pixels specified by the mask. This is a huge time saver because it removes the additional render time needed to render unstabilisable elements seperately if they aren’t noticiable flickery.

View Published Image

This will open the published image file in the image editor.

View Published Image

This will open the published animation in Blender's animation player.

Temporal Troubleshooting

Anti-Aliasing isn't very good around the edges of objects that pass directly of the background environment, or I get ghosting - Tick surfaces only to ensure no ghosting occurs in the environment, or if the ghosting is over other geometry, use the temporal intelligence options to resolve.

Object behind Transparent objects don't stabilise correctly - Increase the alpha threshold property in the viewlayer properties passes section. Making it higher than the transparency value of the material will ensure the objects behind the transparent object generate the vector data necessary for stabilisation to work.


Limitations:

Stabilisation can only work for renders that don't use Cycles motion blur (Cycles can't generate the necessary vector data when motion blur is enabled).  If you want motion blur, you can add it in the compositor afterwards using a vector blur node (ensure you have vector and depth passes enabled prior to rendering).  Demo of how to do that here: https://youtu.be/bvXkfrCXaV4?si=92GSZIJKmT9kaTbn&t=657 If you want to use Cycles motion blur, then ensure you use sufficient samples to not require stabilisation.
Objects whose motion can't be described by the vector motion pass Blender creates, should be excluded from stabilisation if the error correction options can't resolve without re-introducing flicker. In this case either use selective stabilisation as described above, or if the problematic object has flicker that needs removing, then render it seperately at higher samples, and then recombine with the stabilised footage.
  • Single Machine

    $49.99
$49.99

Have questions before purchasing?
Login to message

Details
Sales 1700+
Rating
68 ratings
Dev Fund Contributor
Published about 3 years ago
Software Version 4.2, 4.1, 4.0, 3.6, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.93
Render Engine Used Cycles, Eevee
License GPL