3 ms·
The output resolution doesn't matter. The reason you tile is to improve locality and thus have more cache hits. For mobile GPUs, the cache is literally a specif
by kllrnohj 3y ago
The output resolution doesn't matter. The reason you tile is to improve locality and thus have more cache hits. For mobile GPUs, the cache is literally a specific tile buffer, but for nvidia (who also do this) the cache is just L2. But by tiling the geometry, they spend more time in L2 and fewer times hitting DRAM. This is a performance and power win. The actual resolution is irrelevant as the tiles are very small, even on nvidia GPUs. 16x16 and 32x32 are common tile sizes, see https://www.techpowerup.com/231129/on-nvidias-tile-based-rendering https://www.techpowerup.com/231129/on-nvidias-tile-based-ren... and https://www.youtube.com/watch?v=Nc6R1hwXhL8 https://www.youtube.com/watch?v=Nc6R1hwXhL8 where this was reverse engineered before nvidia actually talked about it.
You might be confusing tiled rendering with various upscaling technologies or variable rate shading?
- kbolino 3y agoIt seems like nVidia's solution is actually different than the conventional tiling of PowerVR, though they are broadly similar and as you say address the main VRAM bandwidth issue by using smaller but faster cache. I've watched parts of that video a couple of times, but I don't fully understand it. The best I can make of it is that PowerVR tiles everything at all levels of rendering, whereas nVidia's Maxwell (and other, more modern, desktop GPUs?) tiles only up to the point of rasterization. If I understand this correctly, it means that pixel shaders on mobile operate on a limited view (their tile, plus some margin?) while pixel shaders on desktop still operate across the entire screen. I don't know if this matters that much in practice, and the distinction seems to be motivated by patents (which may have expired by now?) rather than technical necessity or benefits. Either way, given the massive importance of cache locality, what I originally said about tiled rendering offering no benefit at 1080p is indeed wrong. I think my understanding of GPUs is more than a decade out of date at this point. These problems used to be solved with more power and wider memory buses. That seems to have stopped scaling well over 10 years ago.