Turbo Tools X - Lifetime Licence + 12 months Updates (optional discounted update access after first year)
Turbo Tools X is a complete overhaul of the popular Turbo Tools addon, built specifically for Blender 5+.
Updating Turbo Tools V4 to support Blender 5 wasn’t possible without breaking backward compatibility with earlier Blender versions that many users still rely on. To ensure those users aren’t left behind, Turbo Tools V4 will continue to receive updates and support until Blender 4.5.4 LTS retires in 2027. Creating Turbo Tools X as a separate product avoids the challenge of maintaining two vastly different 8,000+ line codebases within a single addon. This approach allows V4 to remain a reliable option for users on older Blender versions, while X evolves alongside Blender 5 and beyond.
Discounts for V4 Users
- All Turbo Tools V4 customers who purchased prior to the launch of Turbo X, will receive a 70% off Turbo Tools X discount code via email.
- If you purchased V4 within the last 3 months, you should receive a code for a free copy via email in the next 5 days
- Turbo X users can contact me for a 70% Off discount code for Turbo V4.
If you don't receive your discount code by 25/11/2025, contact me using the email on your receipt (include your licence key, and ensure you're emailing me from your Gumroad registered email address).
Turbo Tools X main features
- Turbo Render - Automates complex render setup and implements professional rendering techniques, using a small number of artist friendly options. It also builds advanced denoising networks that allow fewer samples to be used for faster renders that retain more details than standard denoisers.
- Publishing - After rendering you can use the publishing feature to output an unlimited number of compositions without needing to re-render.
- Temporal Stabiliser - When enabled, it removes flicker from animations during publishing, that would otherwise require up to 40x longer render times to avoid.
Turbo Render
- Even at very low samples, Turbo Render can retain fine texture details that are lost by other denoisers. The fine skin details and metallic paint flecks below, are a great example. Even when the standard denoiser is fed an image that's rendered for twice as long, the fine details are still lost, as can be seen with this interactive slider!
Temporal Stabiliser
- After rendering completes, you can click a single button to remove flicker from animations that were rendered with Turbo Tools. Unlike other solutions that require you to click a button and wait endlessly, only to be greeted by a poor result, and no options to improve it, Turbo Tools lets you view the results in real-time directly in the image editor, and cancel if it's necessary to modify the stabiliser options. Even better, the process is entirely non-destructive, so if necessary, you can cancel and tweak some options and then restart the stabilisation without hours of waiting. Unlike 2d flicker removers that you find in various video editing softwares, Turbo's stabiliser uses a wide array of 3d data to avoid artefacts, even in animations that have extremely fast and complex movement, such as machinery.
Publishing and other Compositor features
- Publishing. After rendering completes, you can non-destructively output as many variations of your animation or still image as you want. There's no need to re-render, so it's lightening fast. For example you might want to try different colour grading or post production effects such as glow, lens flares, chromatic abberation, etc. Simply make your changes, choose a file format and output path and then click publish. Repeat as many times as you want.
- Resave file output nodes. You can quickly output file output nodes without needing to render. Just select your file output node, and click a button. Supports both still images and animations.
- Cache nodes. Select a node and click cache/uncache. It will replace the output of that node with a single cache node, and mute everything downstream. This allows you to bypass entire node trees or branches that were preventing the compositor remaining interactive.
Caching
Cache entire branches of a node tree to ensure fast performance.
Real-time Compositing
Add, tweak, and cache all in real time.
Real-time Graph Editor
modify graph editor curves in real-time via the graph editor for real time automation!
File Output Node Tools
One of the longest requested features for blender is to be able to resave a file output node without having to re-render the 3d scene....well now you can! Even better, this feature isn't limited to single frames, you can actually resave all frames in a single click.
Not only that, you can also press a single button to generate and wire up file output nodes with the output destination automatically populated too!
Publishing
One click publishing temporarily discards any cache and exports your node tree at full quality to a movie file or image sequence. This can be done as many times as necessary as it doesn't require the 3d scene to be re-rendered. Audio can be included in the resulting file by adding the audio strip to the VSE. With the 'remove temporal flicker' option enabled, animation flicker will also be removed during the publishing process, allowing you to render animations up to 40x faster!
Turbo Tools X - Lifetime Licence + 12 months access to updates!
Turbo Tools X is built specifically for Blender 5 and beyond. Buy once and it's yours forever. Purchase also includes 12 months access to updates, which can optionally be extended further if you wish.
Documentation
Turbo Tools X General Workflow
- Render with or without Turbo Render enabled. This generates the render cache. Turbo Render offers a much more advanced denoising system than the single pass denoisers found in the render panel, in turn allowing you to use lower samples to achieve faster renders. Additionally it's artist friendly options simplify the process of setting up complex render settings, such as samples, light paths, bounce limits, clamping, importance map setup, etc. A more advanced denoising network will also be created, which allows you to use fewer samples than normal, for faster renders.
- Optionally go to the compositor to do post production work such as colour grading. Turbo Tools will automatically replace render layer nodes with the Turbo Cache after rendering completes, which means you can do things like keyframe node values during playback, whilst seeing the result directly in the image editor or compositor backdrop! There are also other time saving features of Turbo Tools X, which can be found in the compositor n panel's Turbo tab.
- Optionally output multiple variations of your compositions using the publishing feature (also found in the compositor). If you enable 'remove temporal flicker' in the publishing options, Turbo Tools X will also remove animation flicker
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:
Turbo Render is able to reduce render speed because the advanced denoiser is able produce high quality results at lower sample settings than other denoisers need. 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 reduce your own sample settings manually. If you were already using extremely low samples, you may not be able to lower the samples further, but you will still notice superior results in terms of texture detail etc. Additionally, the addon's temporal stabiliser will allow you to remove flicker from animations that would otherwise have required you to use far higher samples and up to 40x longer rendering time.
The biggest gains (often several hours) are to be had on more complex scenes that take a long time to render without Turbo Render. For example, scenes with lots of bounced lighting and a variety of materials, such as interior scenes. Scenes that already render quickly 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 the big blue enable button
- choose a sample pre-set to automatically set up the sample settings to the desired quality
- choose the denoising mode
- set the denoising device to GPU in the render panels' performance area.
- describe the scene using the 'visible to camera' options. For example if there are glass materials visible to the camera, then tick the 'transmission' option.
- specify a scene cache folder. This can be set in the Turbo Tools Scene options area, or in the compositor n panel's turbo tab. It needs to be set even if you have Turbo Render disabled, because Turbo Tools still needs to generate the cache in preparation for the post rendering features of the addon (even if you're using a different render engine). If you've placed multiple render layer nodes in the compositor in order to to render multiple scenes, then you'll need to go into each scene to set their cache folders too. You can use the same cache folder for all scenes, but it's recommended to only use one cache folder per blend file to avoid naming conflicts. The cache is automatically loaded when necessary (publishing, frame change, playback), and is chosen based on scene name and viewlayer name, so if you use the same cache folder for a completely different blend file that has the same scene names and viewlayer names, Turbo may load the wrong cache or overwrite the other blend files turbo cache.
The cache folder must not be a relative path (a path that starts with '//'), so when creating or selecting the folder with Blender's file explorer, make sure you uncheck the relative option shown below:
- enable the 'generate temporal stabilisation data' section if it's an animation and you want to use the Turbo Stabiliser after you've rendered. Cycles can't generate vector data if Cycles motion blur is enabled, so it must be disabled if you have 'generate temporal stabilisation data' enabled. You can add motion blur in post using a vector blur node instead (providing you enable the vector and z-depth pass before rendering). If you are using Cycles motion blur, disable 'generate temporal stabilisation data' to save disk space, and consider using a higher sample pre-set to avoid flicker.
- make sure you don't have automatic packing turned on in Blender's File -> External Data menu
- Ensure you've set the render layer cache to a suitable bit depth in the addon preferences. For example if have data passes enabled such as the cryptomatte pass, you should choose 32 bit to ensure the turbo cache has a sufficient bit depth to store it correctly.
- set you blender output options as usual. Bear in mind that the Turbo Cache is just a multilayer EXR file for each rendered frame, so unless you need specific meta data, it's usually a good idea to set blender's own output to something light, such as ffmp. This avoids two sets of multilayer EXR files being created. The Turbo cache can be used in 3rd party compositors if required.
- click render. IMPORTANT - It's advisable to always render from the compositor workspace, because there's a known Blender bug that on very rare occasions, can prevent python working properly directly after a render job completes. In that case you'll notice the temporary node networks don't disappear automatically as they should, which can lead to incorrect results next time you render. To avoid having to manually remove the nodes later, all you need to do is click 'revert to pre-render state' from the undo history, and then click 'refresh all' in the compositor n panel's turbo tab to load in the new turbo cache (ready for any post production work such as publishing or flicker removal with the stabiliser)
That's it! Turbo render will then take care of everything for you to produce the final render. All options have tooltips to help you get a good understanding of what each does and when to use it.
Turbo Render is compatible with:
- Cycles render engine (turbo tools is compatible with any render engine for publishing and compositing features, but the turbo render feature is only compatible with Cycles)
- Still renders
- Animations
- Existing compositor trees of any complexity
- 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/Rapid(clean image pass only) - Offers extremely fast denoising. May be suitable for final renders when combined with the 'enhance textures' option. Recommended if you have the compositor denoising device set to CPU.
- 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 produce excellent lighting, shadows and reflections. This is suitable for final renders where the individually denoised passes aren't needed for compositing.
-
Ultra(cleans all necessary passes)- Only use if you need the individual passes of the turbo cache EXR to be stored in a denoised state, for example if you plan to rebuild the image manually in post production. Can also be used if the high mode is not able to retain fine glossy detail, or if straight edges appear wobbly (although for wobbly geometry, it's often better to increase the sample pre-set) 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 - Not recommended. If you have fireflies in your render, this option will clamp the direct and indirect levels to speed up rendering and fix the fireflies, but if your lighting is set up badly, it may result in loss of specular brightness/detail. The cause of fireflies is likely that the colour management settings such as flimic or AGX are hiding the fact that your lighting is too bright. Rather than using this option, I'd recommend fixing the lighting with the colour management view transform set to standard 'false colour', modifying the lighting until there are no red bits. That will ensure you don't clip any bright areas.
Sample Pre-sets - A quality level for every occasion. No more messing about trying to find the ideal sample settings, simply choose the desired quality and hit render. Modes include: Crap, Medium Rare, Medium, High, Very High, Ultra, Insane, User. For animations I wouldn't usually go lower than 'High', otherwise the flicker may be too strong for stabilisation to fully remove.
The higher the denoise mode, usually the higher the sample pre-set needs to be, but it's not a hard rule, it's largely dependant on how easy the scene is to render. For example an interior scene is difficult to render because of the amount of bounced lighting, in which case I'd adhere to the below. An exterior scene is mostly directly lit, which is much easier for Cycles to render. In that case the crap sample pre-set may be fine even if the high denoise mode is selected.
Recommended minimum sample presets to use for each denoise mode:
Very Dirty - Very dirty should generally always be used, unless you're using insanely high sample, or you want to retain a bit of noise.
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 - If you're renders have strange swirly artefact, or odd bright areas, you can enable the relevant option and re-render. 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.
Final Checklist
- IMPORTANT - Use the lowest sample pre-set possible without introducing loss of detail. You can find the optimum setting by quickly 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. If you want more control, the 'User' sample pre-set mode, 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. 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 unless you want to introduce noise.
- 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 before rendering again. 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.
- Not advisable to set Blender's own output to multilayer EXR. If you need multilayer EXR In your third party compositor, you can use the Turbo Tools render layer cache EXR files instead.
- IMPORTANT - Always render from the compositor, and if you notice the turbo denoising networks don't disappear after rendering completes, immediately choose 'revert to pre-render state' from the undo history, and then click 'refresh all' to load in the new cache. This will avoid any issues next time you render.
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
Open the command prompt from the folder containing the Blender EXE on each computer. On windows you can do that by navigating to the folder in file explorer then typing cmd in the address bar to open the command prompt at the correct folder.
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()"
Please note that the Blender command line arguments for rendering such as setting the frame range etc won't work, because the python command is launching the Turbo Tools rendering operators, not the cycles render operator. If you need that level of control then you can modify the python command as necessary (the bit between the double quotes that are after '--python-expr'). For example if you wanted to set the frame range from 30 to 60, you could do this (note that each expression needs to be placed after a semi colon):
blender -b "E:\blender\benchmark scenes\classroom\Classroom.blend" --python-expr "import bpy; bpy.context.scene.frame_start = 30; bpy.context.scene.frame_end = 60; bpy.ops.threedi.render_animation()"
For even more control and better readability for large scripts, instead of putting your python expression directly in the command line argument, you can put it in a python (.py) file and then call it like this (uses --python instead of --python-expr):
blender -b "PATH TO BLEND FILE" --python "PATH TO THIS SCRIPT" -- -FirstArgument -SecondArgument -ThirdArgument
For example:
blender -b "C:\batch\test batch v2.blend" --python "C:\batch\multi node render.py" -- -nc=1 -nid=1 -t_op="RENDER"
This will allow you to have unlimited control over every aspect of Blender and use more complex python such as functions and classes, and also set up your own command line arguments as shown above. So if you're already familiar with python, I've included a script in your download folder as an example. It's the file called 'command line rendering script(TT 4.0 or above).py'. The example script is one approach for multi machine rendering. Again this is only intended as an example, and will most likely need customising for your own needs. Please note that I don't offer support on using the script or modifying it to your own requirements, simply because if you don't understand it already, it would mean me teaching you python, which I'm sure you'll understand is way beyond the level of support I'm able to provide. Having said that, it's not too difficult, and I've included full instructions at the top of the .py file if you're feeling brave.
If you're using a 3rd party batch rendering software or addon, then just like with the command prompt, you need to tell it to use the turbo tools rendering operator rather than the default cycles render operator. Either by using a python expression or a python file (as demonstrated above). If necessary, please contact the developer of your batch rendering software/addon for guidance on implementing the above with their software. Most batch rendering addons have added support for Turbo Tools, but if yours hasn't, then they should be able to implement easily using the above information (most were able to implement in around 20 mins).
Full Video demonstration showing Turbo Render and Turbo Comp here:
Limitations
The addon does not support Fast GI Add mode. Bug report here: https://projects.blender.org/blender/blender/issues/105332
Blender can't produce Vector data if cycles motion blur is enabled. So if you plan to use the stabiliser to remove flicker after rendering, ensure cycles motion blur is disabled before rendering. You can add motion blur in post using the vector blur node (requires the vector pass and z depth pass to be enabled prior to rendering).
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 very quickly with low sample settings, can't be reduced as significantly, but you will still get higher quality texture retention, and the stabiliser will allow you to remove animation flicker that would require up to 40x longer render times to remove without the addon.
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 - Ensure you have set the compositor denoising device to GPU:
If you choose to use the CPU for denoising, then it's recommended to use the 'draft/rapid' denoise mode with 'enhance textures' enabled. This will be faster as it's the least intensive denoise mode. Turning off 'enhance textures' will result in an identical denoising time to Blender's render panel denoiser (if not set to GPU).
When rendering I get an error message saying: AttributeError: 'NoneType' object has no attribute 'get_output_node'. this is a weird blender bug that causes issues if there's a linked material that has the same name as non linked materials (which shouldn't be possible). Best thing to do is make all materials local prior to rendering. Alternatively you can find the problematic materials using this script: https://www.dropbox.com/scl/fi/vp5za8oto88u6675twlu1/find-problematic-material.py?rlkey=fcp7ez4ag228acu7n8pv7elm1&st=be0bpcd0&dl=1, and then just make those ones local, or rename them in the file they're being linked from (use a name not already in use in this blend file).
I would always recommend to make all materials local, otherwise Turbo won't be able to temporarily modify them during rendering in order to make the temporal stabilisation data that's needed if you plan to stabilise during publishing after you've rendered.
To use the script, open it in Blender's text editor and click the play button indicated by the green arrow below.
You can then view the results in Blender's console. If it's not already open, you can access it here:
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. You can't improve perfection.
For scenes that only have data on one pass (such as a neon sign in an empty scene), a multipass denoiser such as Turbo Render can't offer any benefits. 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. Simply select 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 real time compositor will now work as expected. 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.
The rendered image is the correct resolution, but the actual image is shrunken down and centered in the middle of the pixel area
This is a Blender bug that affects the GPU compositor (https://projects.blender.org/blender/blender/issues/125472). It happens if you have set a texture size limit in the Blender preferences and have the compositor set to execute on the GPU. To resolve you'll need to set Texture Limit Size to 'OFF'.
My animation has flicker - Use the temporal stabiliser, and if flicker remains, make sure you enabled the 'generate temporal stabilisation data' checkbox prior to rendering, and that you had cycles motion blur disabled. If the stabiliser still isn't removing enough flicker, then try publishing with 'remove temporal flicker' enabled, but the 'temporal intelligence' option disabled. If the flicker is much better, then this indicates your temporal intelligence options are too strict. Watch this tutorial to learn how to use the temporal intelligence options: https://www.youtube.com/watch?v=TDWfo9GQz2c . If disabling the temporal intelligence option didn't improve the effectiveness of the stabiliser, then most likely the flicker was too intense for the stabiliser. It's incredibly effective, but it does need a fighting chance.
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 - Virtually all crashes are caused by insufficient system resources at render time. Usually this is due to huge textures (use the simplify option to limit max texture size), instances being incorrectly realised into actual geometry by a geometry node network (inspect your geo node instancing networks, or speak to the dev if it's an instancing addon), or the render panel's adaptive subdivision global dicing scale being set too low (4 to 6 is usually good).
It can also happen if you failed to notice that Turbo was unable to remove the denoising networks after a previous render, and then rendered again. This is because if you don't resolve by immediately choosing 'revert to pre-render state' from the undo history before doing anything else, each time you render the denoising networks will accumulate until eventually, blender is brought to it's knees. The addon being intermittently unable to remove the denoising networks after a render job is caused by a known blender bug that prevent python functioning correctly after a render job completes. It happens extremely rarely, but I'd recommend to always render from the compositor workspace, so you can immediately see that it's happened, and quickly resolve in two clicks. There are instruction on how to manually resolve a bit further down (if the 'revert' entry is no longer in your undo history).
Blender becomes unresponsive - The addon itself doesn't do anything at render time, it sets everything up prior to rendering starting, but it may be that your system resources are insufficient for the denoising mode chosen. In that case, try one of the lower denoise modes such as 'draft/rapid'. However, it's most likely that the issue is with something in the scene eating too much memory (large textures, bad instancing, adaptive subdivision dicing scale too low).
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. If you need a specific order/naming convention, 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 because Turbo Render needs to enable additional passes during rendering, so that it can operate correctly. If you set Blender's output to multilayer EXR, then those additional passes will be stored in the output, whereas only the passes you enabled yourself will be 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. 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 troubleshooting entry, and if that isn't the cause, then the resolution is too high for your hardware 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 require less resources.
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 results in Blender incorrectly blocking scene modification by python directly after a render job completes. This prevents Turbo Tools from putting the scene and compositor back to it's pre-render state. If this happens the compositor will accumulate denoising networks each time you click render, leading to potential crashes due to insufficient system resources for that amount of denoising networks. This issue affects all addons that try to modify blender properties after a render. Turbo Tools has implemented every conceivable precaution, but once the bug occurs, all addons are affected until blender is restarted. It's quite possible that addons taking less precautions are increasing the chances of it happening, so I'd recommend to start Blender in factory mode, and only enable Turbo Tools X. If the problem goes away or is dramatically reduced then re-enable your other addons one by one, and get in touch with the developer of the addon that increases the frequency of the bug occurring. If you point them to the bug report linked above, I've listed the precautions Turbo Tools X is taking, which may help them out.
To avoid any 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 always render from the compositor to ensure you see if the nodes don't get removed automatically as they should):
So all you need to do (before doing anything else) 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
- the top level group output node
- viewer node
Make sure the image output socket of the render layer node is connected to the relevant input of the group output node/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)
Compositor tools, Publishing, & Temporal Stabilisation (flicker removal)
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, and viewlayer name). For this reason be careful not to change scene 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.
- When the compositor is visible the cache will be reloaded each frame. To avoid slower playback when not using the compositor, ensure the compositor is not visible. When you are using playback in the compositor, you'll get faster playback if you choose a fast drive for your Turbo Cache.
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.
Lifetime Licence + 12 months updates (access to updates can be extended for a small fee)