Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are game renderers so fast compared to 3d applications' renderers?

I have been doing some 3D graphics in Blender in last few years and I have also tried making 3D games (in Unity 3D). I also play computer games very much and I'm surprised by one thing:

Why are 3D applications' renderers so "slow" compared to game renderers?

It is not an offensive question. I'm just curious. For example I can play Crysis or NFS: The Run seamlessly, but if I created a similar scene in Blender, I believe the rendering of one frame would take forever.

I have found some pieces of information on the Internet (like "because game renderers use many fakes and hacks"), but I'm not a graphics programmer and I would really appreciate an expert's answer.

like image 624
Miroslav Mares Avatar asked Jul 27 '12 14:07

Miroslav Mares


1 Answers

Systems like Blender, Maya and 3D Studio Max are generally doing multi bounce raytracing for frame renders. Their engines allow you to do things like realistic glass and smoke effects and ambient lighting. Game engines have nice-looking but less photo-realistic versions of these things.

Also, Hassan's comment is right on: Blender doesn't use your graphics card for rendering, it's all CPU driven (by default). GPUs are much better at the type of parallel processing common in rendering scenes, and the graphics card vendors have put a lot of money to develop technology to run games quickly. Even then, some algorithms for very high quality photorealistc effects are difficult to implement efficiently for the GPU. People have been talking about realtime raytracing for 10 years, and there are some candidates (Nvidia's OptiX, Intel's MIC architecture)

like image 156
tkerwin Avatar answered Oct 18 '22 08:10

tkerwin