Today i am going to share some “trick” that i discovered on recent productions. First let me explain that I set up a small render farm environment (based on personal php/mysql system) in our studio.

brender renderfarming system
the basic
Our fastest machine is an 8-core mac. By checking the CPU usage during renders it clearly came out that there were times when the system was not using all cpus at max (either when transfering files, talking with server, getting the blend files, building shadow maps or other maybe non multi-threaded tasks). So the solution was to actually launch 2 instances of the render client script on the same machine and thus having 2 blenders rendering simulteanously . And now i can hear you …you are going to tell me “but hey it drops down your per-frame render time!!”:-) And yes sir you are perfectly correct! it slows down the per-frame rendering…but not enough down.
The numbers talk for themself :
One instance of blender rendering i get an average render time per frame : 38sec
With 2 instances the average per frame is not 1min16 as one would expect but 43sec.
A rapid useless but fun calculation tell us that for a 100 frames anim, i get 64mins of rendering (38sec*100frames/60) and with a “dual-blender” i get 36mins (80sec*50frames/60). Voila!
This scene (scene03 from current project) indeed includes quiet a good amount of compositing, which i do believe is not multithreaded yet.
Other tests : scene 04_office
2 blend 37 sec
1 blend 23 sec
And with the blender benchmark file from eofw.org _
2 blend average 31sec.
1 blend 17 secs. ( yes its slower from other mac pro results , but i renderer slightly bigger and OSA 8)
The .exr temp files problem
So we already used this “trick” on the H7 robot movie. But at that time we did not use full sample FSA. This is were we got the temp files problem. I do not really understand how blender works for saving the sample passes in an .exr temporary files, but it seemed that by launching the render client in a same user session, it got access both time on same destination. This made blender not able to either overwrite or simply write, and thus crashing or exiting without rendering.
I tried different solutions like having a separate blender installation for the second render client instance, as well as running the client script in different user in the terminal… strangely it did not affect anything.
The workaround solution we found (thanks to a patagonian yogi guru) was to start an other session on the same computer to run the render client.
I am suspecting my lame render farm settings to be the only mistake in that
but at least in the end it worked.
So a tip to all people with a 8-core machine, or even 4-core i am sure u might get results, when rendering a long heavy animation: launch 2 instances of blender and use Touch Overwrite 
for more infos on TouchOverwrite : http://www.blender.org/development/release-logs/blender-246/distributed-rendering-new-render-options/
please let me know if you do get some rendering speed improvement.
Like this:
Be the first to like this post.