Tile Rendering, the Architecture of Very Low Consumption GPUs

GPUs for low-power devices such as smartphones, tablets and even low-power PCs usually use a common rendering method: Tile Rendering. But what does it mean and what does it consist of? We explain it quickly and clearly so that you understand how these GPUs differ from the more traditional ones.

The concept of Tile Rendering is based on dividing the image buffers into several smaller ones that we call “Tiles”. It is a technique used by the GPUs of mobile devices and therefore low consumption, which entails important changes in the internal organization of the graphics processor.

Tile Rendering

Quick summary of the rasterization pipeline

Tile Rendering is a variation of the rasterization algorithm, which is divided into two stages:

  • World Space Pipeline
  • Screen Space Pipeline

In the World Space Pipeline, the geometry of the scene is calculated , visualizing it as a sculptor who makes a figure in his workshop. At this stage, one does not work with pixels but with vertices in a three-dimensional coordinate space.

The Screen Space Pipeline begins with the rasterization , which is nothing more than the projection in the plane of the entire 3D scene, imagine for a moment that that same sculptor takes a photo of his work, he has obviously transformed his work into a space in two dimensions, since a photograph is a two-dimensional element.

Rasterizado Básico

But our sculptor’s camera is special, it turns out that he takes photographs in black and white, he does not take them in color, so he has to take the photographs and edit them on his computer to give them color, which would come to be the texturing process. To finish, the photographer takes the color photo to his printer, which would be the equivalent of writing the final pixels in the image buffer.

How is Tile Rendering different?

Tile Rendeirng Pipeline

Tile Rendering has the same stages as traditional rasterization, but adds additional stages to the graphical pipeline, which leads to it being a bit slower than traditional rasterization by having a longer pipeline.

Just when finishing the calculation of the geometry of the scene, what the GPU does is order the geometry of the scene according to its position on the screen and creates a series of new screen lists, one for each tile on the screen, in each one from them, the geometry information is stored in that part of the screen, said buffer is generated in the VRAM.

Tile Rendering

The next step is rasterization, but in this case the tiles have just been rasterized one by one , but the advantage is that the image buffer of each tile is small enough to fit in the internal memory of the GPU , which makes the operations of the Color Buffer and the Z-Buffer do not require bandwidth from the VRAM , which allows the use of memories with less bandwidth and a considerable reduction in consumption.

In GPUs based on Tile Rendering we can see more than once the concept ” GPU of x cores “, in reality it is not that there are several GPUs on the chip, but that it is designed to process x tiles at the same time during Screen Space Pipeline.

Apple A10X

Why is tile rendering not used on desktop GPUs?

RTX 3000 RX 6000

The biggest problem with GPUs with Tile Rendering is the process in which they order the geometry of the scene in the parameter buffer, this process requires more complex hardware the higher the geometric complexity of the scene. AAA games for PC and consoles, where GPUs that are not Tile Renderers are used have a geometric complexity that makes Tile Renderers not able to scale as well in that regard.

In AMD and NVIDIA GPUs, what exists is Tile Caching, which consists of rasterizing by tiles but with a series of differences:

  • The parameter or triangle buffer is not generated.
  • In Tile Rendering the pixels of each tile are kept in internal memory until the tile’s screen list has been resolved.
  • In Tile Caching, pixels go to the GPU’s L2 Cache so they can drop to VRAM at any time.

At the moment there is nothing that tells us that AMD or NVIDIA are going to take the Tile Rendering path.