Tutorial : How to Speed up Blender Cycles Render
Here's a small tutorial for everyone who uses Blender (Cycles).
I've experimented on tweaks based on searches and research i did on my own, and can speed your render up to 4.5 times.
However do note, This applies to Blender 2.93 plus results may vary depending on your hardware and OS setup.
For reference, I'm on Windows 10 64-Bit, Ryzen 9 5900X CPU with NVIDIA RTX 3090.
Let's face it. CPU isn't built for graphic calculation. your GPU will always be faster unless you're using very low-end GPU.
Adaptive Sampling basically controls sample count based on amount of noise in image. Mostly poorly lit / shadowed (or volume) causes noise.
Turn on Adaptive Sampling and set Noise Threshold to 0.05. This is the value I've found to have less impact on image quality and speed things up.
You might want to play with the value as you see fit.
Denoisers take noisy image and use faster algorithms to get rid of them. If you have NVIDIA Graphics cards with "RTX", You can use OptiX Denoiser.
They are very fast and yield great results. If you don't have them, Generally OpenImageDenoise is known to yield best results.
Use Color + Albedo + Normal passes for best result. This is usually set to "Color + Albdeo" on default.
Another huge factor to performance. Default Blender setting has these values set way too high.
In most cases, Total,Diffuse,Glossy : 2 / Transparency,Transmission : 4 will do the trick. If you use Volume, set the value as you see fit.
Do note that for Transparency and Transmission will not work well or look glitchy under 4 bounces.
I haven't had many instances where this made any difference. Also from a lot of tutorials I've seen people have noted
that Blender's built-in Caustics are quite horrible. Just disable it.
This does what it says on the tin pretty much. Leave viewport/render bounces to 1.
Enabling it hugely decreases render time. Although it does make difference in result,
Simplify limits subdivision / texture size. ( on eevee, only limits subdivision / particle / volume ).
This is useful if you use subdivision modifier. Ideally, set it to 0 on viewport for fast review, and set it to whatever you'd like on Render.
However i have not tested if this also affects multires - in which case, limiting subdiv levels are not desired.
Tile size on Cycles determines how much you'll divide renders into. on GPU, you want to set this to 256x256.
In case you're forced to use CPU, use 16 x 16. On default this is set to 64 x 64. Has quite a big impact on final render times.
If you have NVIDIA GPUs, you have Option of CUDA or OptiX (for RTX)
If you have RTX graphics card, use OptiX. It's insanely faster than anything else.
If you have GTX / Non-RTX, use CUDA.
In any case Blender usually allows you to use both CPU and GPU for renders. However, Don't use them both.
Should you have any questions, Feel free to leave a comment.
I've experimented on tweaks based on searches and research i did on my own, and can speed your render up to 4.5 times.
However do note, This applies to Blender 2.93 plus results may vary depending on your hardware and OS setup.
For reference, I'm on Windows 10 64-Bit, Ryzen 9 5900X CPU with NVIDIA RTX 3090.
Make sure you are Using GPU
Let's face it. CPU isn't built for graphic calculation. your GPU will always be faster unless you're using very low-end GPU.
Adaptive Sampling
Adaptive Sampling basically controls sample count based on amount of noise in image. Mostly poorly lit / shadowed (or volume) causes noise.
Turn on Adaptive Sampling and set Noise Threshold to 0.05. This is the value I've found to have less impact on image quality and speed things up.
You might want to play with the value as you see fit.
Denoising
Denoisers take noisy image and use faster algorithms to get rid of them. If you have NVIDIA Graphics cards with "RTX", You can use OptiX Denoiser.
They are very fast and yield great results. If you don't have them, Generally OpenImageDenoise is known to yield best results.
Use Color + Albedo + Normal passes for best result. This is usually set to "Color + Albdeo" on default.
Light Bounces
Another huge factor to performance. Default Blender setting has these values set way too high.
In most cases, Total,Diffuse,Glossy : 2 / Transparency,Transmission : 4 will do the trick. If you use Volume, set the value as you see fit.
Do note that for Transparency and Transmission will not work well or look glitchy under 4 bounces.
Caustics
I haven't had many instances where this made any difference. Also from a lot of tutorials I've seen people have noted
that Blender's built-in Caustics are quite horrible. Just disable it.
Fast GI Approximation
This does what it says on the tin pretty much. Leave viewport/render bounces to 1.
Enabling it hugely decreases render time. Although it does make difference in result,
Simplify
Simplify limits subdivision / texture size. ( on eevee, only limits subdivision / particle / volume ).
This is useful if you use subdivision modifier. Ideally, set it to 0 on viewport for fast review, and set it to whatever you'd like on Render.
However i have not tested if this also affects multires - in which case, limiting subdiv levels are not desired.
Performance / Tile Size
Tile size on Cycles determines how much you'll divide renders into. on GPU, you want to set this to 256x256.
In case you're forced to use CPU, use 16 x 16. On default this is set to 64 x 64. Has quite a big impact on final render times.
Cycles Render Devices Settings
If you have NVIDIA GPUs, you have Option of CUDA or OptiX (for RTX)
If you have RTX graphics card, use OptiX. It's insanely faster than anything else.
If you have GTX / Non-RTX, use CUDA.
In any case Blender usually allows you to use both CPU and GPU for renders. However, Don't use them both.
Should you have any questions, Feel free to leave a comment.
Category All / All
Species Unspecified / Any
Size 1920 x 1280px
File Size 555.7 kB
FA+

Comments