This is an example of writing I’ve done for Rayvision.
When 3D animators use the phrase “CPU verses GPU,” they aren’t talking about college football rivals. These are acronyms for the Central Processing Unit on a motherboard and the Graphics Processing Unit, usually located on a video card. For years, most 3D rendering software utilized the CPU exclusively. The speed and number of cores in a processor made all the difference for render times. But, a new breed of renderers that utilize GPUs are changing the 3D industry.
GPUs have been used for displaying on-screen graphics for years, but using them to render final outputs is just now coming of age. Many popular rendering packages have GPU based alternatives to their flagship software. Chaos Group makes a GPU based version of V-Ray called V-Ray RT. NVIDIA has an alternative to Mental Ray called iRay. Standalone GPU renderers like Redshift, Octane and Furryball are becoming popular as well.
Relying on memory rather than processor speed, GPU rendering can be much faster than normal CPU rendering. The speed increase is due to the way different processors handle jobs. The main processor on a motherboard is good at tackling a few difficult calculations at a time. Think of the CPU as the manager of a factory, thoughtfully making tough decisions.
A GPU, on the other hand, is more like an entire group of workers at the factory. While they can’t do the same type of calculations, they can handle many, many more tasks at once without becoming overwhelmed. Many rendering tasks are the kind of repetitive, brute-force functions GPUs are good at. Plus, you can stack several GPUs into one computer. This all means GPU systems can often render much, much faster!
There is also a huge advantage that comes long before you create your final output. GPU rendering is so fast it can often provide real-time feedback while working. No more going to get a cup of coffee while your preview render chugs away. You can see material and lighting changes happen before your eyes.
So why don’t we all just switch to GPU rendering and go home early? It isn’t that easy. GPU based renderers aren’t as polished as their older, CPU based cousins. Developers are adding new features all the time, but they still don’t support all the tools 3D artists have come to expect from a rendering solution. Things like displacement, hair and volumetrics are often missing from GPU based engines.
The largest problem facing GPU rendering may be the way graphics processors handle a scene. The all-at-once nature of GPU rendering means an entire 3D scene has to be loaded into memory to work. Large scenes with tons of polygons and lots of hi-res textures simply won’t work for some GPU based solutions.
There is also a learning curve. Many GPU renderers require their own materials, shaders and lighting. So, scenes set up for CPU based rendering can’t simply be switched to a GPU renderer, even if the same company produces the software. 3D artists have to choose which workflow they want to use at the beginning of the project.
Will GPU rendering ever catch up to CPU based software? Will it dominate the 3D industry? Time will tell. In the meantime, the best way to render quickly and still enjoy the advanced features of CPU rendering is by using a cloud solution like Rayvision.