Hey, I am new to the whole 3d art and rendering thing and have some questions, regarding rendering. I am going to be starting an animation project. I know that render times can be horrendous and that is why I am looking at ways to reduce them. Looking at what your program does and the videos it clearly helps reduce render times.
My question is, all the videos I saw were using high power workstations as part of the render nodes and the latest video had most of them using Graphics cards. Is there any video or statistics for rendering with crowd render at home with say a gaggle of average computers doing CPU rendering? Given how massive the cost would be to outfit a work station with 6+ graphics cards just to get the render times down to a low level I would have to sell both my kidneys to afford it. I am just a lower middle class guy so all my rendering needs to be solved on the cheap.
So to that end, I was planning on buying them cheap and stacking them deep. I have found on ebay and Newegg and even locally, lots of quad core computers with slim and mini form factors for under 200$ and thought about just buying them as money came available and making a render farm out of them. But they are not workstation class. And that is why I was hoping that you would have some information on the performance of a small render farm using your software. I have also found cheap rack servers on ebay, like 64 core Opteron or a C6100 with 4 nodes with 2 quad core xenons each.
But I am sorry for the long post, I just want to get my ducks in a row and know what I am going to do and plan my expenditures accordingly. My google-fu is not working very well and figured I would come here. Again, I am very sorry for the very long post and if I was not clear on anything let me know.
Only other question was, if my animation had lots of different things like water or fire or cloth and shattering objects, I assume that all has to be in the blend file? I am not sure how blender saves that stuff.
Thanks again and I look forward to your reply!
But they are not workstation class. And that is why I was hoping that you would have some information on the performance of a small renderfarm using your software.
James, firstly thanks for your considered and well thought out reply. Indeed, I do have a heck of a lot to learn about blender and rendering optimization.
Your point about optimizing the scene before rendering as to reduce render times is important. From what I have found out so far some changes in say number of samples or number or ray bounces can lead to big render time changes. So your point about using the tool to my advantage and not disadvantage is well received. You mention not giving minute detail on trivial things like, tennis balls and other non essential to the plot/story items. Makes sense, as why waste compute power on things that are only incidental. So thank you for that reminder.
Correct me if I am wrong, but there are a number of things I am gleaning from your post. First, get as much ram as possible as that is important. Secondly that no matter how many computers I string together It will still take a good amount of time to render an animation but that time will be a lot shorter then if I was doing it on one computer. Basically that I need to be prepared to wait no matter what. Which leads to the next point I got from you, in that I need to do everything I can to make the scene as efficient as possible so I can reduce render times. That one is an ongoing lesson. I will have to keep reading and learning the system from articles and videos.
You mentioned expensive ways of rendering a scene, can you give me an example? Or was the Tennis ball hair the example for that?
Regarding nodes. I was hoping for some advice on that. Would it be better to get a few older dual cpu servers on Ebay, or would just stringing a bunch of mini pcs together(with upgraded ram) be better for a bare budget farm?
Thanks again for your time in reading and helping me.
Hi Joshua,
Reducing render times can be done with average computers, but it is a question of degree. For e.g. two equally powerful computers should reduce your render times to half the time it takes either to do the same job on their own. If you have five equally powerful computers, then you'll maybe get close to a fifth the render time of a single node.
There are overheads that start to reduce the gains you'll see as the number of computers increase, in particular the beginning of each render takes the same time on each machine, so this is not reduced, no matter how many computers you add, and it can take quite a lot of time in some cases. You may want to read up on the BVH building stage of rendering for example, this can take a while. But you'll still get gains with more computers, so building a render farm will put you in a much better position than not having one at all.
However, if the render time is going to be say, five months, then cutting the render time down to a month, may still not be good enough. So, I am afraid, the answer to your question on rendering on average computers is, it depends on the project. You might be better off using an online render farm to do the final render, however even in this case, having the ability to test your renders quickly on your personal render farm has its advantages, the faster you can test your project is ready, the quicker you'll be finished, and it will cost you less if you spot mistakes before you use a paid render farm.
So yes, render times can be a pain and a render farm can help, like I said it depends. But they also depend a lot on what you do as the artist. If you choose expensive (take a lot of compute power) ways of rendering your project, then you'll be fighting that. Generally, an artist strives to use the tools to their advantage, not their disadvantage. This does take experience, and I'm not eloquent enough or experienced enough myself to teach on all the aspects of render optimisation.
There are some things you should avoid though, for e.g. trying to physically simulate minute details, I've seen models of tennis balls where every hair was modelled using a hair system. You could achieve a similar result (depending on how close you want to shoot the objects) with shaders and get much better performance. The skill is in learning the tradeoffs and playing well with the hardware you have. Better hardware is no replacement for better understanding of the tools you are using.
Finally, if you are going to buy systems for rendering, the critical thing for rendering apart from fast CPU's and GPUs are CPUs and GPUs that Blender will be able to use, check compatibility before you buy, not so much of an issue for CPUs, but GPUs need to support minimum requirements for Blender, and I've had cards suddenly stop working on upgrading, check blender.org for the system requirements.
Also, RAM, if your scene is larger than your physical RAM installed in your machine, either for the VRAM on your GPU card, or the system RAM, one of two things will happen, both of them bad.
Either 1. the render fails outright (esp GPU running out of VRAM) or 2. the render progresses at a pace so slow, you could easily draw the scene yourself by hand before the computer ever finished, but you're basically in the same position as 1. i.e. screwed.
RAM is pretty important as it is more of a work/fail situation than with the power of your CPU/GPU which are more of a degree of terrible to awesome in terms of speed.
Hope this helps :)