Whenever a rendering task is too demanding to be done on a local machine, 3D artists can rely on so called render farms to do the job. Golem Project aims to decentralise these computing tasks by splitting them up and distributing them onto a network of nodes. The promise is to make the rendering task cheaper and faster for 3D artists. We put Golem’s claims to the test and checked how it performs vs. 4 established render farms on the market — namely Garagefarm, Renderstreet, Superrenders, Sheepit.

Pricing Model

Render Farm

You are paying a fixed fee per CPU hour. This can vary from provider to provider, it also depends on how powerful the CPU you are paying for is.

Golem

Compared to classical render farms, Golem is an open marketplace so there is no fixed pricing per hour. Instead of a fixed fee you are making an offer, how much are you willing to pay for the job which nodes can or cannot accept. You set the desired resolution and frame range, and into how many subtasks you want to split the render job.

Example:

File: BMW benchmark file from Blender

Settings: 1 Frame @ 10 Subtasks (10 minutes timeout)

In this case, the image will be split into 10 evenly sized subtasks. Every subtask is 1 job done by 1 individual node. The maximum time a node is allowed to take is 10 minutes, so in the worst case scenario we are paying 10 nodes for 10 minutes of computing time.

10 subtasks x 10 minutes timeout x (0,1 GNT/60) = 0,16 GNT maximum amount paid

Things to notice

You are only paying a node when it has completed at least 50% of the subtask.

If a node can’t deliver in time, a new one will be assigned for the job.

The higher the amount you are willing to pay, the faster your request will be processed because nodes have an incentive to pick up the most lucrative jobs.

Setting the right timeout/price can be tricky, but if you master the bidding process Golem can save you a lot of money/time for your rendering jobs.

To set the correct timeout values, I used my computer as a point of reference:

To render one frame of the above scene, my machine took 20 minutes. One subtask is 1/10th of the whole scene, so that would be 2 minutes. So I expect a node to take a maximum time of 4 minutes (20 minutes total / 10 subtasks + 2 minutes as a security margin).

Test

For the test setup, I used the BMW example mentioned above. My target resolution is 1920x1080 and I’m going to render the 1st of 1000 frames.

I rendered this with the same settings on Garagefarm, Renderstreet, Superrenders, Sheepit and Golem.

Garagefarm

I had a little trouble to install the Garagefarm plugin “renderbeamer” in Blender. However, the live chat of Garagefarm was very fast and helpful. I choose the fastest render option and it worked quite well. Compared to the other render farms it was the fastest rendering, but also had the highest cost per frame.

Time per frame: 15 seconds

Cost per minute: 2,95$

Cost per frame: 0,76$

Renderstreet

Renderstreet was very transparent and user friendly. After registration you can directly upload your file and start the rendering process. No need for a plugin.

Time per frame: 1 minute 20 seconds

Cost per minute: 0,4$

Cost per frame: 0,53$

Superrenders

Superrenders felt quite convenient and easy to use. You register, provide your Google Drive (or Dropbox, or Box etc..) account to get a sharing folder where you then drop the file you want to render. No Blender plugin needed. It was fast and by far the cheapest commercial render farm.

Time per frame: 36 seconds

Cost per minute: 0,05$

Cost per frame: 0,03$

Sheepit

Sheepit is a free distributed render farm for Blender. In order to get your projects rendered, first you have to render a minimum of 10 frames of another projects. In order to do so, register, download the client, start rendering other projects with your machine. After 10 frames are completed, you are free to add your project to the network. The more you render for others, the higher prioritized your own projects will be.

Sheepit is free, but more time consuming then other renderfarms. It took a few hours until the render-process started, the render process itself was also much slower compared to the others. If you are not in a rush, it is definitely a good option though.

Time per frame: 16 min

Cost per minute: 0,00$

Cost per frame: 0,00$

Golem

Prices and times on Golem can vary due to it being an open marketplace. To make the results comparable I submitted multiple rendering jobs and averaged the prices and times:

Time per frame: 20 minutes

Cost per minute: /

Cost per frame: 0,3 GNT = 0,09 $

*Note: Prices can vary dramatically due to the volatile nature of crypto assets, you can check the GNT prices here*

During my test I couldn’t manage to render multiple frames successfully. /u/jamuszyn from the Golem team suggested these settings to me:

BMW 1920x1080 Frame range: 1–10 Task timeout: 2h Subtask amount: 10 Subtask timeout: 15 minutes Price: 0.2 GHT/h It computed in 28 minutes with performance slider changed to 4, so it is quite probable that it could compute even faster with better nodes.

Sadly I was unable to replicate this result myself.

Result Overview:

Conclusion

From the results I got during my test, it seems that Golem indeed offers a quite cheap rendering alternative in the render farm landscape. However, I found that superrender was even cheaper than Golem. Also Sheepit is of course a free alternative for non commercial projects.

One problem I see with the bidding model is its complexity and predictability of prices. Setting up the correct bidding is essential to achieve good prices and there is also the risk that a render job won’t be finished if the bidding is too low.

Also setting up the client is not super straightforward as it requires ports forwarding and knowledge of how to buy crypto assets.

These problems might vanish over time when Golem is further developed and moves out of the beta stage.

🚀 Interested in Tokenized Securities? Check out our newest project: STOCheck.com

Have you already tested Golem, what are your results ?