10 Ways For Quicker Animation Renders


#1

Originally published at: http://blog.gamedev.tv/10-ways-for-quicker-animation-renders/

Waiting for Blender to render something can be a real pain and if you are doing an animation the time is only compounded! There are a number of things you can do to speed up rendering animations and we’ll go through them all in this article, they’ll apply equally to singles frame renders too.

The benefits of some of the optimisations can be reduced a lot for simple scenes, I mean what’s a 2 second saving… But wait at 30 frames per second, that’s a minute of rendering time saved for every second of final output! Savings can compound significantly when animating

Save Before You Render

Good advice in general! Rendering is one of the main causes of crashing in Blender, and rendering an animation only compounds that issue. Save you work before you hit the render button! Nothing worse than having to reconfigure your rendering because you forgot to save.

Render Often

Test your work often to make sure what you think is happening is what really is happening when it comes to your rendering. Contrary to the time saving advice below, do render at final resolutionand settings occasionally too, I have had horrible artifacts appear that were masked at lower resolutions and sample settings

Use OpenGL Rendering

If you only need an overview of your animation is the the goto for me. When you are animating the movement often matters a lot more than the textures or lighting. This will help not only isolate that movement but speed up the render time significantly.

Examples for the above little 10s Animation:

Settings 50% 1920x1080
CPU i7-7700k @4.5GHz
GPU Nvidia 1080

OpenGL: 11 seconds

Blender Internal: ~16-18s per frame, around 70mins of rendering!

Cycles:

CPU, tile size 16x16: 20-40s per frame, around 125 mins of rendering!
GPU, Tile size: 240x270, 16-25s per frame, around 84 mins of rendering!

Reduce Your Resolution

Ask yourself do you really need a 4K render? Have you checked everything before hitting render, if you you are going to be wasting a lot of rendering time, and probably the use of your computer whilst it is doing the render.

If you are nowhere near a final render try setting the render size to 25% of the final resolution you want, render a single frame and check there is enough detail to assess your animation. If not, then increase it.

At 25% it will render about 4 times quicker that 100%!

Reduce The Number Of Samples

This and the next two tips are linked together very closely. Rendering with a high number of samples will definitely improve the image quality but at a certain point just increases render times too much to really be worth it.

For testing lowering the sample rate will reduce your render times

Use A Random Sample Seed

Noise becomes really apparent when animating as it can look like dirt on the camera! Enabling random seed gives a much better appearance as the noise of an image will vary each frame.

Whilst this doesn’t save anytime, it saves you having to re-render an animation because of static noise throughout the animation.

Use The Denoise Feature

64 Samples, With Denoise ON 256 Samples With Denoise OFF

New in Blender 2.79 this enables you to render scenes with far fewer samples that you would need to without. This will save a tonne of time. It will increase render times for a given resolution and number of samples, but because in general you’ll need less samples during a render you have a net saving of time!

Caution! Because this effectively blurs the noise in an image into oblivion at render time this has less control than post processing the noise out of a render. I either reduce the effect or even do not use this feature when a scene has detail that loses its sharpest or out right disappears

Render Every Other Frame

You can render every X frames by adjust the frame step for your animation.

This is especially useful as it gives you a great overview of the action and how it is taking place, but is best for checking that the rest of the details are as you expect them to be throughout your animation, saving you a lot of time should you find a mistake.

Render As Images

Rendering each frame as an individual image and combining it afterwards is great for a number of reasons:

  • Enables you to re render any failed frames
  • You can stop your rendering at any point and resume later on, having only wasted the current frame you are rending. This is really useful if you only have one computer and the render is taking longer than planned, or a laptop battery is running low etc- you aren’t going to lose work
  • Following on from above, crashes, out of memory and power cuts aren’t the end of the world, you don’t lose any of your previously rendered frames.
  • You can render your animation on multiple machines
  • Takes very little time to render out the final video of the animation.

Render On Multiple Computers

You can render an animation on multiple machines or even multiple times on the same machine when saving the frame output as an image. The scales perfectly to multiple computers- just make sure you have permission to use all the computers!