Tag Archives: tip

Easy Internet CPU and GPU renderfarm

A while ago I came across this YouTube video which explained a very clever way to get blender to render using the CPU and GPU at the same time. Using that idea you can create a very easy, impromptu “renderfarm”, which I will explain here.

Here is an example of a video rendered with my ASUS laptop and a MacBook Pro at the same time:

For this tutorial you will need:

  • Two or more computers with a good, stable internet connection
  • A Dropbox account (free from www.dropbox.com) and the application installed on all computers. (If you are unfamiliar with Dropbox, it’s a virtual folder that you can have on multiple computers / devices)

The technique is based on pointing two instances of blender at the same folder, with “overwrite” off and “placeholders” enabled:
 
Placeholders create the image file before the render is complete, basically reserving that file name. Let’s say one instance of blender is working on frame 50 with the CPU. If the second (using the GPU) tries to work on the same frame it won’t be able to, because that file already exists and “overwrite” is off, so it will work on 51 instead. When the first is done, it will skip to 52 for the same reasons.

Now the interesting thing is that this also works with a virtual folder, such as a Dropbox, that multiple computers can use at once. Just save a .blend file in your Dropbox and point it to render in another folder also in the Dropbox. If you open this file on more than one computer, and “render animation” they will all be able to work on it at the same time without doing the same work twice.

It’s worth noting that this only works with animations; you can split frames between machines, but to split up individual frames requires much more sophisticated software. Also, ensure that the sample count is high enough that each frame takes around a minute or more to render. If each frame renders too quickly, frames might be created more quickly than the Dropbox is able to update and the result will be frames rendered by more than one computer, wasting time.