A wave of shifting rendering from CPU to GPU
According to CGDirector, Render something is to process the scene to create an image or sequence of images. This is a complex process wherein you’re calculating how a scene looks by using your CPU and/or GPU to mathematical computations to derive a final image.
In these computations, there’s a lot of ray tracing and ray casting going on and in fact, the way light bounces around a 3D Scene is very similar to how it does in real life.
Depending on the program you’re using, this process is handled either by your CPU or your GPU.
Rendering from CPU to GPU
The CPU has been called the brain of a PC. The GPU its eye. Your brain understands the world, how it functions, physics. While your eye is creating the images, you see the world. CPUs race through a series of tasks requiring lots of interactivity. While GPUs, handle parallel computing, break complex problems into thousands or millions of separate tasks and work them out at once. Let’s take an in-depth look at how the CPU and GPU work in graphics.
In particular, the GPU handles the visual elements, such as shaders, effects, shadows, lights, textures, etc. The graphics card determines how many polygons can be displayed at a time. It also significantly impact how high of a resolution any given object can have. The GPU is the filter over the game. It handles the glowing effects, ability effects, light sources, etc.
The CPU handles the physical and logical elements, such as hitboxes, logic (if-this-then-that-happens), movement, collision. It generates the in-game particles, in other words, it creates the world beneath the filter that the GPU creates.
For instance, if you are playing a racing game and you collide with another car, then the CPU is the processor that knows what the logical outcome of this collision would be. Where the CPU figures out the physics of a car collision and the GPU figures out how to paint that scene or the visual “filter” as aforementioned (According to Johannes Amstrup Andersen from Programerreview).
A huge wave of shifting rendering
It can be said that there’s a huge wave of render shifting: rendering from CPU to GPU
In the 80s, 90s, and early 2000s, computers were synonymous with the CPU. Things changed since GPUs were invented by NVIDIA in 1999, and Moore’s Law winding down. The CPUs are essential, however, over the past decade GPUs have broken out of the boxy confines of the PC.
This wave is due to a few things but here is the main one: the development of GPUs. GPUs can execute a ton more tasks at any one time, which accelerates the rendering process requiring a lot of multitasking from the processor. Modern GPUs offer superior processing power and memory bandwidth than traditional CPUs. Traditionally, most computer graphics renderings relied only on CPUs, but today, fast video cards with large amounts of RAM can take on the task of rendering and speed up look development of the final scene. Previously, the drawback of GPUs was the limited amount of VRAM and video memory. However, developers are doing better when releasing modern GPU lines with a large amount of VRAM and supporting NVLink, enabling GPUs to expand their bandwidth, memory, etc.
Generally, GPUs will be faster than CPUs on most rendering tasks. This is because the GPU is great at handling lots of information and processing it on its thousands of cores quickly in parallel. While CPUs have only up to 64 cores, a GPU has thousands of cores such as RTX 3090 with over 10000 ones.
Render engine developers are increasingly moving towards supporting GPU rendering.
GPUs have risen to such prominence recently and become a key part of modern supercomputing as well as accelerators speeding up all sorts of tasks from encryption to networking to AI, Gaming, Graphics. That makes them ideal for graphics, where textures, lighting and the rendering of shapes have to be done at once to keep images flying across the screen.
The development of GPUs is inevitable, leading to the development of 3D software and render engines. Nowadays, 3D graphics software and render engines have been building around the use of GPUs. The developers improve their product versions to suit the upgraded GPU lines.
To sum up, there are increasingly irresistible advantages of GPU power for rendering. In the next years, more and more 3D software and render engines will be built and released. From my point of view, these engines will take advantage of GPU technology to accelerate rendering and turn “rendering work” into an easy task.
Reference: Nvidia, Programerreview, CGDirector