4 ms·
I think that the article focuses too much on the academic distinction between immediate renders and tilers but fails short to discuss how these techniques relat
by ribit 5y ago
I think that the article focuses too much on the academic distinction between immediate renders and tilers but fails short to discuss how these techniques relate to real-world GPUs. For example, the fact that all contemporary AMD and Nvidia gaming GPUs are tilers with large tiles (that's one of the key reasons why Maxwell and Navi got a big boost in performance). Or that many mainstream mobile GPUs employ various hacks (e.g. vertex shader splitting) in order to simplify the architecture, but which ultimately blocks their ability to scale to more advanced applications. Notably missing any mention of TBDR which currently powers the fastest low-power mobile and desktop GPUs on the market.
- cma 5y ago>For example, the fact that all contemporary AMD and Nvidia gaming GPUs are tilers with large tiles (that's one of the key reasons why Maxwell and Navi got a big boost in performance) There's a whole section on it near the end: "Another class of hybrid architecture is one that is often referred to as tile-based immediate-mode rendering. As dissected in this article, this hybrid architecture is used since NVIDIA’s Maxwell GPUs." >Notably missing any mention of TBDR which currently powers the fastest low-power mobile and desktop GPUs on the market. Another section mentions: "There’s a long-standing myth (that luckily slowly disappears) that deferred rendering techniques are not suitable for TBR GPUs. "
- ribit 5y ago> "Another class of hybrid architecture is one that is often referred to as tile-based immediate-mode rendering. As dissected in this article, this hybrid architecture is used since NVIDIA’s Maxwell GPUs." Yes, they do mention it, but I feel that the relevance of this technique would warrant a more in-depth discussion. > "There’s a long-standing myth (that luckily slowly disappears) that deferred rendering techniques are not suitable for TBR GPUs. " This has nothing to do with TBDR. "Deferred rendering" is a "software" rendering technique used to optimize lighting computation, "tile based deferred rendering" describes a hardware GPU architecture that delays fragment shading to the latest possible moment to optimize shader unit efficiency.
- cma 5y ago> Yes, they do mention it, but I feel that the relevance of this technique would warrant a more in-depth discussion. They do have a long section on it at the end discussing hybrid stuff. > This has nothing to do with TBDR You are right about TBDR vs deferred rendering on a tile based architecture, but it still seems the article did discuss TBDR too just without naming it (probably due to confusion with explicit deferred rendering by the application): https://docs.imgtec.com/Architecture_Guides/PowerVR_Architecture/topics/powervr_architecture_tile_based_deferred_rendering__tbdr.html https://docs.imgtec.com/Architecture_Guides/PowerVR_Architec... The main technique in there is described in the original article I believe: [original article] "Some TBR GPUs go even further than that and perform perfect per-pixel hidden surface removal and thus can guarantee that every single pixel gets shaded exactly once throughout the whole subpass. " vs [imgtech description of TBDR] "Deferred rendering means that the architecture will defer all texturing and shading operations until all objects have been tested for visibility. The efficiency of PowerVR Hidden Surface Removal (HSR) is high enough to allow overdraw to be removed entirely for completely opaque renders."
- phire 5y agoRegarding Maxwell and Navi: Actually, that's not true. The micro-benchmark that suggested Maxwell (and later) was a tiled deferred gpu was actually measuring something else. Each GPC gets assigned different sceenspace areas, and concurrency rules between the areas is relaxed (unless explicitly required by shader atomics). The result looks somewhat like tiled deferred rendering in that micro-benchmark. But it's still very much immediate mode. A similar thing happened with Navi. However, there are mobile GPUs (Qualcomm's Adreno) that dynamically switch between tiled deferred mode and immediate mode on a per renderpass basis, depending on what driver heuristics suggest will be faster.
- Jasper_ 5y agoWhen did Adreno gain a deferred more? Back when I was talking to Rob Clark in 2014 or so, it sounded like it was all immediate per-tile.
- phire 5y agoGPU terminology is confusing at times. Imgtec and Apple use the term "Tile-Based Deferred Rendering" to mean a combination of tiling and deferred shading. Because that's what their GPUs do. Other vendors, like qualcomm [1] still use the term "Deferred" in regards to their Tile-Based Rendering, simply because the draw calls are deferred. It doesn't mean deferred shading. Every company appears to make the the terminology as they go. I found an early presentation from ARTX [2] and they are using database terminology to describe what we now call vertex buffers. [1] https://developer.qualcomm.com/docs/adreno-gpu/developer-guide/gpu/overview.html https://developer.qualcomm.com/docs/adreno-gpu/developer-gui... [2] http://www.graphics.stanford.edu/courses/cs448a-01-fall/lectures/tvh/tvh.2up.pdf http://www.graphics.stanford.edu/courses/cs448a-01-fall/lect...
- Jasper_ 5y agoGah, so when Qualcomm uses the word "deferred", they just mean "tiled", and each tile still rasterizes each tri in order. Agreed on terrible terminology, this is a disaster.
- 5y ago