Creating advanced 3D scenes is really hard, especially when poly count start to reach thousands faces and everything slows down. Test renders take like minutes to complete.
I’ve got three computers, so I thought to myself why not to use them all at once? After some search I found a solution, in “3ds max” help files, which is “Backburner”. It’s basically software that allows you to build “render farm”. You setup “servers” and “clients” that will do a rendering. Works fine, but that solution was not exactly what i searched for. Because deal with “Backburner” is that, that you need to submit max file to render. After that, server redistribute pieces of frame/animation to “clients”, and saves output. It’s good solution if your work is done, so you can focus only on a rendering.
But what i wanted was something simple to work with, without need to run additional programs etc. Finally, after some more search, I stumble upon “Distributed Bucket Rendering”. It’s exactly what I was looking for. What it does is distribute “buckets” to “listed” computers. Buckets are these little squares that run throughout an entire image and make “wonderful magic” that makes final picture to “pop up”. Minus in that solution is that it only works with “mental ray” renderer, so you can’t use it with traditional “scanline”. Well nowadays we all use mental ray, so that’s not really big deal here.
How to set it up? First, in “3ds max”, press “F10”, or go to “Rendering” menu “Render Setup…”, chose “mental ray Renderer”, then look for “Processing” tab. Find “Distributed Bucket Rendering”, and enable it (see below picture):
Add some computers to list.
Note: service “raysat_3dsMax2009_32server.exe” [ name depends on a version of max that you use] must run on every computer from that list, so basically that means, that you need install max on that machines
Type name or IP address of machines that you want to connect to, and you are ready to go.
Notice that in first picture only one “machine” is highlighted. In my case only that machine will be used. Also remember to turn off this option, if you “clients” computers are down, because it will take some time for max to figure it out ( it’s equal to hangup ).
It’s excellent solution for speeding up rendering, especially when you got some “unused” laptops laying around and doing nothing.
Here is my speed boost quick test:
machine [1] AMD 3700+ [2.2 GHz – X1 – 1 logical CPU], 1 GB RAM
machine [2] C2D 1.8 GHz, 2GB RAM [laptop]
test results:
machine[1] = 1’25”
machine[1]+machine[2] = 0’36”
conclusion 2x speedup boost.
I want point out also that, when you got rendering time lees then 1-2 sec its pointless to use it, because it will actually slow down entire process. That’s because distribution algorithm need to negotiate connection with “clients” and that will take some time. If you use global illumination (GI) boost isn’t that great. I think that calculation are done on localhost so that’s why.