Microsoft DirectX 12 unterstützt Variable Rate Shading für höhere Spieleleistung

Die Rendertechnik Variable Rate Shading soll die Performance steigern - bei kaum sichtbarem Bildqualitätsverlust.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Microsoft bringt mit VRS ungenaue Spielegrafik als Standard für DirectX 12

Mit VRS Tier 2 wurden nur die roten Bereiche mit voller Genauigkeit berechnet.

(Bild: Microsoft)

Lesezeit: 4 Min.
Von
  • Nico Ernst

Im Rahmen der Games Developers Conference (GDC) hat Microsoft eine Erweiterung von DirectX 12 angekündigt. Mittels der "Variable Rate Shading" (VRS) getauften Technik soll sich auf einer GPU soviel Rechenzeit einsparen lassen, dass Spiele laut Microsoft zwischen 14 und 20 Prozent höhere Bildraten erreichen. Als Eigenentwicklung namens "Coarse Pixel Shading" (CPS) hatte Intel den Kniff schon im Dezember 2018 für seine kommende integrierte GPU der 11. Generation demonstriert und sprach damals von bis zu 40 Prozent fixerer Grafik.

Mit VRS, das in DirectX 12 standardisiert wird, soll die Technik aber nun im Prinzip für alle Grafikprozessoren zur Verfügung stehen. Nvidia unterstützt das Verfahren bereits auf den Turing-Grafikkarten, es kommt unter anderem bei Wolfenstein 2 zum Einsatz. Entwickler müssen ihre Spiele speziell für Variable Rate Shading anpassen. Microsoft spricht in seinem Blogeintrag von "wenigen Tagen", die dafür nötig sind. Ob und wie die Grafikhardware VRS funktional unterstützten muss, hat Microsoft noch nicht bekannt gegeben, ebenso steht eine entsprechende Ankündigung von AMD noch aus. Allerdings hatten die Radeon-Macher kürzlich eigene Patente zu VRS veröffentlicht.

Hinter all den Ansätzen steht die Idee, nicht jedes Pixel mit der vollen Genauigkeit aller Shader zu berechnen. VRS fasst nun mehrere Pixel zu Blöcken zusammen, die gemeinsam berechnet werden. Das reduziert in den von VRS behandelten Bereichen des Bildes die Genauigkeit der Berechnung – nicht aber die tatsächliche Bildschirmauflösung – und kann so Rechenzeit einsparen. VRS kennt dafür drei Methoden: Entweder kann jeder Draw-Call VRS nutzen, oder innerhalb eines Draw-Calls nur ein Bereich des Bildes behandelt werden, oder es werden innerhalb eines Draw-Calls nur bestimmte Dreiecke bearbeitet, was Aliasing zwischen den genauen und ungenauen Bereichen verhindern soll. Alle drei Verfahren lassen sich kombinieren.

Dazu gibt es noch zwei grundlegend verschiedene Ansätze, die Microsoft "Tier 1" und "Tier 2" nennt. Beim ersten Verfahren werden verschiedene Draw-Calls mit unterschiedlicher Pixel-Shading-Auflösung behandelt. Als Beispiel nennen die Entwickler das Zeichnen eines unscharfen Hintergrundes, der ungenauer behandelt werden kann in einem Aufruf, beim nächsten Call wird dann der Vordergrund detaillierter berechnet. Offenbar sind dabei Szenen wie weitläufige Landschaften gemeint, bei denen der Spieler sich vor allem auf die eigene Figur und in der Nähe gelegene Objekte konzentriert.

Screenshot aus der VRS-Demo "Suntemple", die auf Gen11-Hardware lief.

(Bild: Microsoft)

Für Tier 2 ist eine genaue Vorab-Konstruktion des Bildes nötig, das sogenannte "Screenspace Image". Es wird auch von vielen anderen modernen Methoden wie der Schattierung mittels Umgebungsverdeckung (Ambient Occlusion) verwendet. Damit kann VRS selbst die Bereiche bestimmen, die dynamisch mit weniger Genauigkeit berechnet werden. Microsoft nennt als Einsatzbereich First-Person-Shooter, bei denen die Bildschirmmitte am meisten Aufmerksamkeit des Spielers auf sich zieht.

Intels Demonstrationen, die Microsoft auch zitiert, zeigten das mit dreistufiger Genauigkeit anhand der Unreal-Engine-Techdemo "Sun Temple". Tier 2 ist langsamer als Tier 1, der Unterschied in der Qualität soll aber fast nicht mehr wahrnehmbar sein. Eine angepasste Version von Civilization VI soll mit Tier 1 um 20 Prozent zugelegt haben, mit Tier 2 noch um 14 Prozent. Dass Spiele, die VRS nutzen, durch einen Patch plötzlich schlechter aussehen, ist nach bisherigem Stand kaum zu befürchten. So sagte Intel bei Vorstellung seiner Implementation, dass die Funktion im Treiber standardmäßig abgeschaltet sein soll.

Spieleentwickler sollen mit VRS möglichst bald loslegen können. Microsoft will in seinen DirectX-Foren nach den Vorträgen der GDC die Spezifikation, Codebeispiele sowie die Folien der Präsentation veröffentlichen. Nicht zu verwechseln ist VRS übrigens mit VSR, letzteres bezeichnet als "Virtual Super Resolution" AMDs Methode, um per Downsampling Spiele in höherer Auflösung als vom Monitor unterstützt zu berechnen. Das dient als Alternative oder Erweiterung von Anti-Aliasing-Funktionen. (nie)