The Best Private Render Farm Software?

So my largest wish for Blender right now is to find a good render plugin or software setup for my planned local render farm.

The built-in render plugin for Blender is working wonders now due to it’s ease of use and functionality with one machine, but I know it may not work in the future if I wish to scale across multiple machines. My workload consists of rendering single complex pictures.

The built in Network Render can only assign one frame of an animation to one machine. Given that I only have one picture to render, only one machine can do it at once with the included plugin.

I’ve looked around and found other plugins and software like Bitwrk and Loki Render, but none of them seem to work how I want. Bitwrk is bizarre to understand, and Loki Render doesn’t run from directly within Blender.

I understand it may be possible to render from the command line with Python, but I simply don’t know an easy and intuitive way to do it with that.

So are they any other plugins that do what I wish? Or is Loki Render the only software that can parallelize with images? I may turn to it presuming nothing else, but I’d prefer to have something built into Blender.

Hi Cooly568,

as the author of BitWrk I had to smile a little when I read how you described it as “bizarre to understand”. May I offer my help? By the way, that’s great (and honest!) feedback!

Network rendering with BitWrk is setup like this:

  • On each computer:
    [LIST]

  • Start Blender

  • Install the BitWrk add-on

  • Switch to BitWrk render engine

  • On your main computer:

  • Download BitWrk client and unpack somewhere

  • Enable “Show advanced options”

  • Enable “Allow other computers as workers” option, like in this video

  • Start BitWrk client from BitWrk panel

  • On the other computers:

  • Enable “Show advanced options”

  • Point the BitWrk settings to the computer running the BitWrk client.

  • On each computer you want to use for rendering:

  • start a local worker (like in this video)

[/LIST]
At any time, you may add BitWrk rendering to get further acceleration.

Did that help? Any questions, feel free to ask!

Jonas

Oh, didn’t really expect the Bitwrk dev to show up, but uh, yeah. I’ll explain what I mean.
Bitwrk was designed, I believe, for a distributed render farm across many systems paid by Bitcoin, but that means that as a normal program, so private render farm software, as it stands right now, the UI is so designed for Bitcoin use that using locally doesn’t, really make much sense.


The talk about “Giga-rays” and concurrent tiles and boost factors don’t, make any sense outside of a simplified online render farm. I’d expect a local setup to be, “Start worker”, for the system you’d want to be rendering, and a simple “send frame to network” option for a client, instead of all of this that doesn’t, apply really. The web user interface is also tougher to monitor in than the NetRender, again, having the Bitcoin first design.


Further more, no settings exist for designating a specific server to connect to for rendering. Presumably this is handled automatically by the computer running the Bitwrk client?

The Bitwrk plugin just makes no sense to me, is the issue. Netrender is a simple, setup master, setup slave, send job from client to master IP. This is just more confusing to me and feels designed more for bitcoin than local render farms, which it is, no doubt, but still. I’m lost.

My systems are stuck rendering right now, but when they finish, I’ll follow your instructions and mess around with Bitwrk to see if I can get something setup and if I have any complaints or problems with it.

We use a render manager called “Smedge”. The developer even remotely logged in to our main machine to help get everything set up. Works great, we’ve had no issues the past year we’ve used it. It’ll also render from just about any VFX app out there.

I’d prefer something that could intergrate from within Blender, like the NetRender does. The only plugins I can pull off the top of my head that do so are NetRender and Bitwrk.

Further experimentation with Bitwrk hasn’t had it work yet.



If you’re on Linux or macOS, you can use GNU Parallel [1] and ImageMagick [2] to distribute a single frame render over multiple machines using the resumable render implementation in Blender 2.78 and later.

E.g. assuming a .blend file with all resources packed and set to 2000 samples, the first line would distribute a single frame render across 2 computers as 20 chunks of 100 samples, transferring files as required, and will tidy up after itself when finished. The second line combines the chunks to form the final 2000 sample image:


seq 20 | parallel -S1/[email protected],1/[email protected] --progress --plus --basefile render.blend --return 1_{#}.exr --cleanup blender -b render.blend -o \"#\"_{#} -F EXR -f 1 -- --cycles-resumable-num-chunks {##} --cycles-resumable-current-chunk {#} "> /dev/null 2>&1"

convert 1_*.exr -evaluate-sequence mean -compress zip final.exr

Example test run: [video]https://imgur.com/3THR6vO[/video]

[1] https://www.gnu.org/software/parallel/
[2] https://imagemagick.org/script/convert.php