Stappen, S. (2019). Improving real-time rendering quality and efficiency using variable rate shading on modern hardware [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2019.59946
E193 - Institut für Visual Computing and Human-Centered Technology
-
Date (published):
2019
-
Number of Pages:
79
-
Keywords:
Variable Rate Shading; Augen-Tracking
de
Variable Rate Shading; Eye-Tracking
en
Abstract:
With the NVIDIA Turing graphics card micro-architecture released in 2018, not only performance in terms of operations per second is increased but also new hardware features are introduced, like Variable Rate Shading (VRS). VRS allows focussing the processing power by dividing the framebuffer into tiles and dynamically controlling the resolution of each tile. To be precise, the screen is partitioned into tiles of 16x16 pixels and for each tile, it can be specified how often the fragment shader shall be executed. It is both possible, to have fewer fragment shader invocations than there are fragments, or more fragment shader invocations than there are fragments. This allows individually defining lower sampling rates or supersampling for regions of the screen. Regions of less interest or with less visual details can be assigned less computational power in terms of shader executions while regions that should provide high fidelity can be supersampled. The challenges here are to find and distinguish these regions in a dynamic scene, like it is the case for games, and how this technique integrates with commonly used techniques in the industry, like deferred shading. NVIDIA already proposed some strategies on how these regions can be distinguished and how the shading rate can be selected. Among these strategies are Content-Adaptive Shading and Motion-Adaptive Shading. Content-Adaptive Shading varies the shading rate according to the current content of a frame and does not take temporal coherence into account. Motion-Adaptive Shading adapts the shading rate according to the changes in the scene. Stable regions, like for example the horizon and the car in a driving simulation, will be rendered with higher quality. In contrast, moving regions like the street will be rendered more coarsely because the viewer cannot focus on these regions anyway. Another approach for selecting the shading rate is to adapt the resolution to the viewers focus. This can be done in combination with an eye-tracking device and is called foveated rendering. We invented a novel approach that utilizes data from temporal anti-aliasing techniques to detect under- and oversampled regions and select the appropriate shading rate for these regions. We developed five algorithms, edge-based and texel-differential based Content-Adaptive Shading, Motion-Adaptive Shading integrating the motion over multiple frames, single-pass foveated rendering and TAA-Adaptive Shading. The applicability of each algorithm to modern renderer architectures with forward and deferred shading and anti-aliasing post-processing has been evaluated. The major advantage of our VRS techniques is that some of them enable up to 4x higher rendering resolution with the same performance or up to 4x better performance at the same resolution.
en
Mit der neuen Grafikkartenmikroarchitektur NVIDIA Turing wurde nicht nur die Leistung erhöht, sondern es wurden auch neue Hardwarefunktionen eingeführt, wie Variable Rate Shading (VRS). VRS ermöglicht die Fokussierung der Rechenleistung durch dynamische Anpassung der Shading-Auflösung pro 16x16 Pixel-Bereich des Framebuffers. Die Shading-Auflösung entspricht der Anzahl der Pixel, die schattiert werden, wobei in Bereichen mit geringem visuellen Detailgrad weniger Pixel und in Bereichen mit höherem Detailgrad mehr Pixel schattiert werden können. Es gibt diverse Strategien, um den nötigen Detailgrad pro Bereich festzustellen. Darunter fallen die Techniken “Content-Adaptive Shadin” und “Motion-Adaptive Shading”, die von NVIDIA vorgeschlagen wurden. Content-Adaptive Shading variiert die Shading-Rate auf Basis des Inhalts des vorhergehenden Frames. Motion-Adaptive Shading passt die Shading-Rate an die Bewegungen von Kamera und Objekten aufeinanderfolgender Frames an. Es gibt unterschiedliche Ansätze, welche Parameter zur Bestimmung der Shading-Rate herangezogen werden. Ein weiterer Ansatz zur Bestimmung der Shading-Rate ist die Anpassung der Auflösung an den Fokus des Betrachters. Das Zentrum des Fokus kann dabei höher aufgelöst werden, während Bereiche im Umfeld niedriger aufgelöst werden können. Dies kann in Kombination mit einem Eye-Tracking Gerät erfolgen und wird “Foveated Rendering" genannt. Neben diesen Vorgehensweisen zur Bestimmung der Shading-Rate beschreibt diese Diplomarbeit eine weitere, neue Strategie, nämlich „TAA-Adaptive Shading“. Diese verwendet Daten von Temporal Anti-Aliasing Techniken zur Erkennung von Regionen, die zu niedrig oder zu hoch abgetastet wurden und wählt auf Basis dieser die Shading-Rate aus. Fünf Algorithmen wurden von uns entwickelt: Content-Adaptive Shading basierend auf Kanten und auf Texeldifferentialen, Motion-Adaptive Shading unter Berücksichtigung der Bewegungen aufeinanderfolgender Frames, Single-Pass Foveated Rendering und TAA-Adaptive Shading. Die Anwendbarkeit jedes Algorithmus auf moderne Renderer-Architekturen mit Forward Shading, Deferred Shading sowie Anti-Aliasing Post-Processing wurde evaluiert. Einige der VRS-Techniken, die in dieser Diplomarbeit beschrieben werden, sind in der Lage, eine Szene in vierfacher Auflösung bei gleichbleibender Performance oder mit vierfacher Performance bei gleicher Auflösung zu rendern.
de
Additional information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers