2
$\begingroup$

According to the tests that I have seen, the render speed difference CPU vs GPU can be almost 60 times in favor of the GPU.

GPU renders using the graphics card, CPU using the CPU, am I right?

So, Is it more effective and profitable (in terms of rendering speed and in terms of money, of course), to buy a powerful graphics card than to build a cloud renderfarm?

$\endgroup$

4 Answers 4

5
$\begingroup$

It all depends on the complexity of the scenes, the type of GPU, the speed and number of cores of the CPU, the amount/speed of memory available on your system, and how fast you need your final product.

A few considerations:

Sometimes rendering on GPU can be faster, but the amount of memory available for rendering is limited to that built into the card.

The easiest way to render faster in Cycles, is adding additional GPUs to a single computer. That way you can render more than one tile at the same time: Cycles will render as many tiles as there are GPUs. Two CPUs will render a single frame in almost half the time as a single GPU. 4 GPUs will cut render time to almost a quarter...

You can add as many GPUs as you can physically fit or connect to your computer and blender can use them all (It's more efficient if all of them are the same kind)

There are some solutions out there to use other computer's GPUs see: http://www.renegatt.com/blog/?p=130

But memory usage will still be an issue, as the memory available for rendering with multiple GPUs is not the sum of the memory on all of the cards, but is limited to the amount of memory on the smallest card on the system.

There are scenes that can only be rendered on CPU:

  • Complicated scenes with large textures, or operations that require more memory than that available on the GPU.

  • Scenes with features that are not supported for GPU rendering or are in experimental stages.

Even when rendering on GPU, there are still some operations that require processing by the CPU (Simulations, Physics, Particles, etc).

When rendering on CPU only, cycles will render as many tiles as there are processors or cores on your system. The more cores the system has available the more tiles can be rendered simultaneously. A single GPU will only render one.

You can render much larger/complex scenes in CPU because you can use all of the memory available on your system, and should you need more, then the Operating System will virtualize memory using the hard drive.

A render farm has the advantage of splitting render load across several computers and does not require a large investment on your part and you only pay when you are using it.

When you need to deliver on a fast turnaround there is no substitute to a render farm where you can have dozens or hundreds of computers at your disposal... If it takes you 10 minutes to render one frame on your computer. It will take you over 33 hours to render an animation of 200 frames. Using 200 computers on a farm you can render the whole thing in 10 minutes...

Also when shopping for GPUs keep in mind that not all of them are created equal. Currently Blender is more compatible with Nvidia graphics cards, but they are pricier than other brands.

Oftentimes the specs for GPUs are misleading so search online for benchmarks specific to blender performance before purchasing. Some very expensive "professional" graphics cards do not make blender any better than "gamer" oriented ones.

I'ts sometimes better/cheaper/more efficient to buy a couple of mid-performance cards than a single "high end" one.

Adding more GPUs to a computer requires a more powerful power supply and efficient cooling for the whole system. If you are investing in many computers make sure that the power/electric installation is adequate...

Before you buy into one solution or another other, I suggest that you make some tests and see what solution works best for your workflow or specific project.

$\endgroup$
3
  • $\begingroup$ Thank you very much for the detailed answer! At the moment, I am choosing computer parts to create a workstation to work with 3D. I thought about how to make a small render farm (workstation processor ... and a node with the processor ...). I doubted, because, after learning about the difference in the speed of the CPU and GPU, I thought it might be better to choose a more powerful graphics card, but I did not know that the rendering will be limited by the graphics card memory, and I plan to work with complex scenes. $\endgroup$
    – Rumata
    Mar 15, 2016 at 17:59
  • $\begingroup$ workstation processor i7-5960X and a node with the processor i7-4790K $\endgroup$
    – Rumata
    Mar 15, 2016 at 18:06
  • 1
    $\begingroup$ Hardware questions are not really suited for this site. You'll find much better info in the tech support forum at blenderartists.org/forum/forumdisplay.php?44-Technical-Support $\endgroup$
    – user1853
    Mar 15, 2016 at 18:08
4
$\begingroup$

Depending on your needs - GPU or GPU and cloud render farm could be the better option.

If you only create still images then installing a good GPU could help more than a render farm. Rendering one quality final image at a time will only keep your machine busy for a couple of hours at most. (Well, longer render times can happen but most of us tend to keep render times to a minimum). When you consider the time it takes to upload your scene and textures, the time benefit can drop when remotely rendering a single frame.

If you are rendering animations then you will want to use a render farm, but a decent local GPU will also benefit as you can quickly see a finished frame to get lighting and materials right before sending to a render farm for final rendering.

If you are able to render your images using a GPU, then you can also make use of GPU with a render farm to reduce your rendering costs. Some render farms like render.st offer GPU rendering and if you are building your own farm then Amazon's AWS offers GPU instances (g2.2xlarge and g2.8xlarge).

$\endgroup$
1
$\begingroup$

I am amazed no one mentions TDP as a rendering hardware criteria.

  • CPUs will win render time per Watt.
  • GPUs will win render time per Cost and also render time per meter^3 - but only on simple scenes! Throw something more complicated at GPU and it will struggle (like bidirectional path-tracing).

The best cost-effective solution are second-hand GPUs with Fermi architecture (GTX 580, Tesla M2090, etc.), but they support only CUDA compute 2.0 and it's in question how long this support from Blender will last.

What I would do however is to pay a little more for Maxwell, which is not that power hungry and has more GPU Ram.

Also when paying that much for hadrware, I would look around for commercial renderer that might do the job faster on cheaper hardware than Cycles! Remember Cycles is no wonders - it's just a simple path-tracer that struggles a lot with volumetrics, glossy and blurry transparency. For example Corona renderer utilizes some really smart algorithms on CPU to be even faster than GPU renderers on complex scenes.

$\endgroup$
0
$\begingroup$

GPU rendering will almost certainly be FAR more cost effective, since you can fit several GPUs into one computer. You could also hybridize and use Blender's built-in network rendering utility to run just a couple of computers with multiple GPUs for rendering. What I would do, would be to buy a few of THESE: http://www.ebay.com/itm/NVIDIA-Tesla-M2090-6GB-GDDR5-PCIe-x16-GPU-Computing-Processor-VIDEO-CARD-/281723734547?hash=item41980b0a13:g:R-YAAOSwyjBW5vQe and use them for rendering.

$\endgroup$
2
  • $\begingroup$ Thank you very much, I have not heard before about this option, very interesting! I just found out that GPU rendering is limited by the memory of the graphics card, so the scenes that require more memory will not be rendered at all (I was hoping that in this case, the rendering will be slower, but apparently it will stop), so now I think that the CPU render farm is also a good option. $\endgroup$
    – Rumata
    Mar 15, 2016 at 17:59
  • $\begingroup$ These older NVidia cards have something like 6Gb of ram, and the newer ones closer to 25! You must be rendering HUGE scenes to need more :) $\endgroup$ Mar 15, 2016 at 19:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .