Why are games rendered with a GPU while Blender, Cinebench and other programs use the CPU to render high quality 3d imagery? Why do some start rendering in the center and go outwards (e.g. Cinebench, Blender) and others first make a crappy image and then refine it (vRay Benchmark)?

1.03K views

Why are games rendered with a GPU while Blender, Cinebench and other programs use the CPU to render high quality 3d imagery? Why do some start rendering in the center and go outwards (e.g. Cinebench, Blender) and others first make a crappy image and then refine it (vRay Benchmark)?

In: Technology

17 Answers

Anonymous 0 Comments

~~Blender~~ Cycles can be configured to render from the center outwards, or from a side to the other side, and in many other patterns. It also can be configured to render a “crappy first image then refine it”, and that is called progressive rendering.

Cycles can utilize either the CPU or GPU for the task. Rendering with the GPU is usually much faster, but either partially does or doesn’t support some effects.

Anonymous 0 Comments

…Blender (cycles and Eevee) does use GPU….

What are you on about?

Anonymous 0 Comments

When images are rendered using the CPU that’s called a software renderer as opposed to a hardware renderer of a GPU, for the most part, GPUs can render images more efficiently than CPUs can, the reason that those benchmarks use software renderers are because a software renderer is very taxing on the CPU and those programs are benchmarks/stress tests.

Anonymous 0 Comments

This is something I actually have quite a bit of experience with and I disagree with a lot of answers. Normally, you want to let the CPU do all the graphics unless you absolutely require GPU acceleration because the CPU can’t keep up. When working with a GPU, you have to convert your textures, matrices, and vectors into a format that the GPU can work with before it can access that data. The CPU has access to everything loaded into memory already so very little prep work is required before painting into your screen when using the CPU.

I have no idea why people thing GPU = inaccurate math. It’s all up to the programmer and how they code the program to work. I can select lower resolution textures and different scaling methods (fast vs high quality) regardless of what method I’m using to actually render the scene.

As far as what order things get rendered visually, that’s up to the programmer too. I’ll only start painting lower quality / partially complete renderings if the user needs some kind of feedback that things are working as intended before the full rendering has finished. You can pick and choose what gets rendered first and the selections are based on what the product and engineering teams have determined are the most important for the end user.

Anonymous 0 Comments

And now, a thread with 60,000 different nine-paragraph wrong answers, 59,000 of which start with the word “Actually.”

Anonymous 0 Comments

There are technical reasons as others have mentioned, but I can’t help but think that it is at least partly because programming on the GPU is much more of a pain than a CPU. Even getting GPU drivers on Linux that perform well is an exercise in frustration.

The tooling for GPU programming is much worse than the plethora of debuggers, profilers, etc. available for traditional programming.

Anonymous 0 Comments

OMFG this is eli5, not eli25.

GPU- quantity

CPU- quality

Does this really have to be so complex? lol