January 22, 2018

Please reload

Recent Posts

We'd like your thoughts

April 4, 2018

1/9
Please reload

Featured Posts

How Distributed Rendering Helps You

July 9, 2018

Image courtesy of Antonio Arroyo and Oliver Villar 

 

Ok, so the title posits something that might seem really obvious if you know even just a little about distributed rendering. Thats why this article is going to not just explain what it is but show you why its really really important to you as an artist that you understand how to use it and the importance of a render farm to your project. 

 

An Explanation - Distributed Rendering

 

Distributed rendering is where you render either a single frame or multiple frames using several computers instead of just one. We're going to go into more detail about why this is faster but for now we'll spell out the basics.

 

There are two main methods for distributing rendering. The first and slightly easier method frame splitting. This is where an animation is rendered by distributing its frames over several computers. Each computer renders some percentage of all the frames in the animation. We've made a simple example to follow along to where an animation of nine frames is to be rendered on three computers. 

With frame splitting, a "master" node usually coordinates the render, sometimes this node (a technical name for a computer) will render some of the frames, some times it acts as a manager and controls the render, but does not render any frames itself. In our example, all the computers render.

 

The "slave" or "render" nodes are given some of the animation to render, in this example; three frames each.

 

If all three computers are the same in terms of processing power, then they will all complete the render in a third of the time just one of the would take. This is why distributed rendering is so important to artists, you can scale down your render time by adding more computers. 

 

The second method for distributing rendering is "bucket rendering" or "tile splitting". This method takes a single frame and splits it into parts to be rendered on multiple computers.

The tile splitting technique is what Crowdrender uses. As you can see from the diagram above, tile splitting works differently from frame splitting. Tile splitting breaks each frame up into parts and each computer renders one of these parts of the frame. 


Tile splitting is more flexible than frame splitting for the obvious reason that tile splitting works for single frame renders. Frame splitting cannot make a single frame render faster! Tile splitting is therefore very useful for fast previewing of frames to ensure there are no errors and that the overall impression of the image is what the artist wants.

 

Tile splitting is not without its own problems, however. Where there is a lot of compositing required, frame splitting can accelerate the compositing as well as the rendering as the entire frame is available on each node. In tile splitting, compositing usually has to be done on the master node when the tiles from each slave node are received and the entire image is finally available. 

 

Knowing just these details about each technique will help immensely in having a good final render experience!

 

An Example, why its so important

 

We conducted a benchmark test using a project from Antonio Arroyo (see the image above!). The test was simple, the baseline was a single computer rendering the scene. For this baseline test, we used a macbook pro with a fifth generation i5 processor operating four threads.

 

Then, the variant for the test. We used Crowdrender to do a tile split render (because we did just one frame) using the macbook as master and five other computers as slaves. The other slave nodes contained similar equipment, each had four threads and similar RAM (though the CPU's were from previous generations and so clock speeds and other features were less advanced than that of the laptop). 

 

For the test we varied just the number of samples. Quite si