SheepIT is a free Blender render farm that I've wanted to test for quite some time. Now that I've used it, I want to share my experience with you. The basic idea is very simple: you help in the rendering of other's people projects, and in exchange, other people help you to render.
It's very easy to use, it's free and it has great community around it.
What is SheepIT?
SheepIT is "a free distributed render farm for Blender". Let's break it down. Render farm is a group of computers that are connected together to complete rendering tasks. That is, instead of rendering your animation frame by frame on your local PC, the job is being split into multiple frames (or even tiles) and each machine in the render farm renders just some of them.
Distributed in this context means that instead of using 1 big server room, SheepIT uses PCs of users that connect to it all around the world.
As you can see from the screenshot above, at the time I'm writing this, there are 584 clients connected that are rendering 491 frames at the same time.
Free means that you can use the service without paying money to use it. Instead, SheepIT uses a point system to prioritize work. You earn points by rendering other people's 3D scenes, you spent points on rendering your own projects. It's not 1-1 exchange though. The exact formula for earning and spending points is explained in SheepIT FAQ, but to simplify it: you earn points almost four times faster than you spent them. Also, there is a 'sponsorship' system - other users can render in your name. If you are starving for points - just ask in SheepIT's discord community. I've frequently seen people helping others. No matter how many points you have - your PC will prioritize rendering of your projects first.
Why use SheepIT at all?
The short and long answer is: to speed up your renders and save time.
My GPU (and CPU for that matter) is idle most of the time, but when I want to render an animation it doesn't have enough power to complete the rendering job quickly. So now, when I don't use my PC I turn on the SheepIT client and help others with their renders and earn points. When the time comes to render my project I can use those points to have my projects rendered much faster than I would be able to on my PC.
As an example, right now as I'm writing this article I run SheepIt client and it earns points that I will be able to use later for my own projects.
A less obvious reason to use SheepIT is reliability. Depending on where you live and what PC you have, you might experience power outages or Blender might be crashing on your hardware. SheepIT will just continue rendering, so you don't need to worry about restarting your render at the correct frame.
When not to use SheepIT?
There are a couple of scenarios that I think SheepIT shouldn't be used for. The most obvious one is the rendering of work under any kind of non-disclosure agreement. Your files are being sent to other people's machines (encrypted, but that will not stop knowledgeable and determined attacker) and thumbnails of your renders are visible. Overall, for any commissioned work I would first get permission from the client.
Currently, the file size limit is 750MB, which for some big projects might be limiting. Blender file can be compressed before uploading. Additionally, all scripts are being disabled for security reasons. Anything involving physics should be baked first too.
As a community-driven and distributed server farm - SheepIT doesn't make any specific guarantees on completion times. For this reason, I wouldn't use it when deadlines for renders are really close.
Last, but not least, is the usage of paid assets. Some of those can have a license that prohibits of usage of distributed/cloud rendering farms. In case of doubt, it's best to ask the author of the asset.
How to use SheepIT?
This section isn't intended to be a comprehensive tutorial on SheepIT. I just want to give you a basic overview of what steps are required to get you going. First, you need to create an account. Then, you download a client (available for Windows, Mac, Linux, and as a docker container), which you run. The client will first download Blender, render a test frame, and will start rendering jobs.
To render your own project you have to make sure it can be run on any PC. There is a checklist on the project submission web page, but the most important things to take care of are:
- Paths are relative and/or external resources (like textures) are packed into your blend file
- Rendering output is set to image (I use png most of the time)
- Your project doesn't require scripts to run
- Your render settings are set correctly for desired output quality
Before uploading my project I usually copy the .blend file, remove unnecessary things for this render (like a high poly version of a model), and pack external data. Last but not least, I move it to some other place on my PC and do test renders for a few random frames.
If you wonder how many points will the render cost you, there is Estimator. By providing render time on your hardware it estimates how many points will it require to render.
The next step is to upload your project and select the Blender version, on what devices will it run (CPUs, NVidia GPUs, AMD GPUs, or any combination of the above), etc. If everything is OK, depending on the priority of your project it will start rendering.
You can track the rendering progress of your project, change some settings, and view (or download) partial results. Below is an example of a project that I just started rendering. After the render is finished, you download your files and can use your favorite video editing software to further process it.
My experience with SheepIT
So far my experiences with SheepIT were great. The usage of the software was very easy, and interaction with the community was great. I've rendered 5 projects so far. Let me share some statistics from one of them. I've rendered 1800 frames at 512 samples. On my local PC with RTX3090 I estimate that it would take more than 11 hours to render it. It took 6 hours of real-time on SheepIT and it used 147k points that I accumulated previously. Afterward, I downloaded the frames and used DaVinci Resolve for color grading and rendering the final video, which you can check here.
Time can be shorter or longer depending on various factors like how many other projects are being rendered, how many clients are connected, or how many points I have. Sometimes a machine gets stuck on a single frame - it gets reset after 2h (or you can ask admins on SheepIT discord server to sort it out).
I'm quite happy with SheepIT. I am using it quite frequently and can recommend it to anyone. It's not applicable for every use case, but where it is - it works great.
If you have any questions about it - hit me up on the GameDev.tv's discord. I am frequently in the
#blender channel :).
Please note this post was not sponsored by SheepIT