Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

8
News Mark Mantel Als bevorzugte Quelle auf Google hinzufügen
Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing
Quelle: Firaxis Games

Microsoft hat zur GDC 2019 ein neues Feature für seine Low-Level-API DirectX 12 angekündigt: Variable Rate Shading. Spieler könnten die Funktion bereits von Nvidias Turing-Grafikkarten kennen, die diese schon früher über herstellereigene Erweiterungen zur Verfügung stellen. Microsoft vereinheitlicht den Ansatz und unterstützt das Ganze herstellerübergreifend. Intels Ice Lake wird explizit angesprochen.

Nvidia hat mit der Turing-Generation verschiedene Adaptive-Shading-Funktionen eingeführt, mit denen sich unterschiedliche Oberflächen mit verschiedenen Shading-Faktoren versehen lassen. Die Shading-Rate bestimmt die Anzahl der Samples für die Farbinformationen. Im klassischen 1×1-Raster wird jeder Pixel einzeln "geshadet". Alternativ können Turing-GPUs den gleichen Pixel-Shader auf vier (2×2) oder 16 Bildpunkte (4×4) anwenden. Krumme Kombinationen (1×2/2×1, 2×4/4×2) sind ebenso möglich.

Eine einheitliche Wand ohne aufwendige Farbverläufe könnte so beispielsweise mit der niedrigsten Shading-Rate dargestellt werden, während ein Regal mit Gegenständen darauf mit der gewohnten Präzision berechnet würde, ohne dass der Spieler einen Unterschied sieht. Intel plant, die gleiche Funktion unter dem Namen Coarse Pixel Shading einzuführen. AMD beherrscht sie noch nicht, könnte sie aber mit Navi bringen - konkrete Informationen gibt es keine.

DirectX 12 bekommt Variable Rate Shading

Bisher setzte Nvidia auf eine herstellereigene Software-Lösung, um das Adaptive-Shading umzusetzen. Vielleicht litt die Unterstützung seitens der Spieleentwickler auch darunter: Wolfenstein 2 ist der einzige größere Titel, der die Funktion nutzt. Für eine steigende Verbreitung könnte in Zukunft Microsoft sorgen, der eine einheitliche, herstellerunspezifische Lösung in DirectX 12 integriert hat, um die Shading-Präzision dynamisch anpassen zu können - hier Variable Rate Shading genannt.

Microsoft spricht von einem Tier-1- und Tier-2-Support in Hardware. In ersterem Fall kann die Shading-Rate lediglich pro Draw-Call angepasst werden. Schickt die CPU solche zum Beispiel zum Rendern von Wasser an die GPU, wird das gesamte Wasser mit gleich vielen Samples gerendert. Tier 2 ermöglicht die Anpassung innerhalb von Draw-Calls. Entwickler könnten zum Beispiel zusätzlich zur allgemein eingestellten Shading-Rate des Wassers einen Filter einsetzen, der Ränder erkennt, und die Präzision dort erhöhen. Firaxis hat Variable Rate Shading in Civilization 6 ausprobiert, das durch die großen einheitlichen Flächen für das Feature prädestiniert erscheint. Mit einer Tier-1-Umsetzung stieg die Framerate um 20 Prozent, sorgte aber bei den feinen Details auf dem Land für Artefakte. Mit Tier 2 samt Randerkennung war immer noch ein Plus von 14 Prozent drin, dann allerdings mit einem kaum sichtbaren Unterschied zum Original. In Städte hereingezoomt wird der Leistungsvorteil geringer ausfallen.

Microsoft spricht indes eine kommende Intel-Session auf der GDC 2019 an, in der Variable Rate Shading anhand eines Ice-Lake-Prozessors in Form einer Vorserien-CPU demonstriert werden soll.

Bildergalerie

8
    • Kommentare (8)

      Zur Diskussion im Forum
      • Von empy Lötkolbengott/-göttin
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von Schaffe89
        Naja, AMD und Nvidia sollten schon irgendwo an einen gemeinsamen Standard arbeiten, wie das dann konkret in Hardware umgesetzt ist, kann doch auch weiterhin verschieden sein, oder etwa nicht? Stichwort Async compute, Preemption usw, oder nicht? Kann ja auch als optionales Feature nebenher laufen.
        Die Vulkan Extension ist prinzipiell erstmal eher Nvidias Ding, ich wäre langfristig dafür, dass sich dann alle drei Hersteller die Implementierung von MS zur Gemüte führen, denn Vulkan wird sich ja am PC eh nicht durchsetzen, jedenfalls darf man davon ausgehen.
        Der gemeinsame Standard ist das jeweilige API-Featureset, das jede Hardware möglichst vollständig erfüllen sollte. Wie das passiert, ist dem Hardwarehersteller überlassen. Optionale Features sind halt immer blöd, weil das immer speziell beim Programmieren beachtet werden muss, aber Unterschiede wird es vermutlich immer geben. Es sollten aber so wenige wie möglich sein. Bei der Vielseitigkeit der heutigen GPUs kann man vermutlich eh so ziemlich jedes Feature umsetzen, könnte aber unter Umständen kreuzlahm sein, so dass es nicht praxistauglich ist.

        Und dass sich Vulkan nicht durchsetzt ist wenn dann etwas, von was ich ausgehen muss, als dass ich das darf.
      • Von empy Lötkolbengott/-göttin
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von Schaffe89
        Naja, AMD und Nvidia sollten schon irgendwo an einen gemeinsamen Standard arbeiten, wie das dann konkret in Hardware umgesetzt ist, kann doch auch weiterhin verschieden sein, oder etwa nicht? Stichwort Async compute, Preemption usw, oder nicht? Kann ja auch als optionales Feature nebenher laufen.
        Die Vulkan Extension ist prinzipiell erstmal eher Nvidias Ding, ich wäre langfristig dafür, dass sich dann alle drei Hersteller die Implementierung von MS zur Gemüte führen, denn Vulkan wird sich ja am PC eh nicht durchsetzen, jedenfalls darf man davon ausgehen.
        Der gemeinsame Standard ist das jeweilige API-Featureset, das jede Hardware möglichst vollständig erfüllen sollte. Wie das passiert, ist dem Hardwarehersteller überlassen. Optionale Features sind halt immer blöd, weil das immer speziell beim Programmieren beachtet werden muss, aber Unterschiede wird es vermutlich immer geben. Es sollten aber so wenige wie möglich sein. Bei der Vielseitigkeit der heutigen GPUs kann man vermutlich eh so ziemlich jedes Feature umsetzen, könnte aber unter Umständen kreuzlahm sein, so dass es nicht praxistauglich ist.

        Und dass sich Vulkan nicht durchsetzt ist wenn dann etwas, von was ich ausgehen muss, als dass ich das darf.
      • Von yingtao BIOS-Overclocker(in)
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von VikingGe
        ...Werden Spiele, die das D3D12-Feature jetzt nutzen, auch ohne weiteres auf Intel/AMD funktionieren, wenn deren Hardware es denn irgendwann mal unterstützt? ...
        Genau das ist doch der Sinn dahinter dass man einen Standard definiert. Es wird ein Featureset festgelegt welches Entwickler ansprechen können und GPU Hersteller müssen dann gucken dass sie diese Features über den Treiber unterstützen. Wird die Funktion über die D3D12 implementiert, dann läuft es auf allen GPUs die diese Funktion unterstützen (was aktuell Nvidias Turing und Intels Ice-Lake iGPU sind). Die Alternative ist es einfach nur für Nvidia zu implementieren (die investieren noch immer viel Geld damit deren Techniken auch verwendet werden) und alle anderen Hersteller gucken doof aus der Wäsche, selbst wenn ihre GPUs es zur selben Zeit oder später mal können.

        Zu sagen dass jeder Hersteller erstmal sein eigenes Ding machen soll, was den Markt stark fragmentiert und man als Nutzer dann immer gucken muss welches Spiel, welche Features der Hersteller unterstützt, macht für mich keinen Sinn. Das wäre dann wie anfang der 90er Jahre wo die einen Sachen nur im Softwaremodus unterstützt wurden, andere nur in D3D, wieder andere in OpenGL und wieder andere Dinge in Glide.

        Auch haben die Hersteller noch immer Freiraum in der Implementierung, da sie das Feature in ihren Treibern und Hardware umsetzen müssen. Das Spiel schickt über die API ja nur die Anfrage, dass ein Cluster aus 16x16 Pixeln einen Shaderpass haben möchte und es liegt dann am Treiber diese Anfrage gescheit für die Hardware zu übersetzen.
      • Von VikingGe Software-Overclocker(in)
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von Casurin
        Und das es in die Standards übernommen wird hat den Vorteil das es eben eine Standard gibt anhand dessen man sich richten kann.
        Vielleicht erstmal abwarten, bis es andere Hersteller implementieren, und dann nen gemeinsamen Standard zurechtbasteln, der meinetwegen auch auf dem, was Nvidia entwickelt hat, aufbaut?
      • Von Casurin BIOS-Overclocker(in)
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von VikingGe
        Diese "herstellereigene Software-Lösung" von Nvidia ist einfach eine Vulkan-Extension wie jede andere auch (VK_NV_shading_rate_image).
        Es ist eine Extension für Vulkan, OpenGL und mehr.... teil von Spir-V was unter den ganzen liegt.

        Und das es in die Standards übernommen wird hat den Vorteil das es eben eine Standard gibt anhand dessen man sich richten kann.
        Oder muss ich da an GL_AMD_vertex_shader_tessellator erinnern?
      • Von Schaffe89
        AW: Variable Rate Shading: DirectX-12-Erweiterung für Intel Ice Lake & Nvidia Turing

        Zitat von empy
        Wie das in Hardware implementiert ist, ist doch eine andere Sache. Und besser in D3D als in Gameworks, oder?
        Naja, AMD und Nvidia sollten schon irgendwo an einen gemeinsamen Standard arbeiten, wie das dann konkret in Hardware umgesetzt ist, kann doch auch weiterhin verschieden sein, oder etwa nicht? Stichwort Async compute, Preemption usw, oder nicht? Kann ja auch als optionales Feature nebenher laufen.
        Die Vulkan Extension ist prinzipiell erstmal eher Nvidias Ding, ich wäre langfristig dafür, dass sich dann alle drei Hersteller die Implementierung von MS zur Gemüte führen, denn Vulkan wird sich ja am PC eh nicht durchsetzen, jedenfalls darf man davon ausgehen.
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 07/2026 PC Games 06/2026 play5 07/2026 N-Zone 06/2026 Linux Magazin 07/2026 LinuxUser 07/2026 Raspberry Pi Geek 07/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk