Zum Hauptinhalt Zur Navigation

Asynchronous Shader: Nvidias Grafikkarten soll eine wichtige DX12-Funktion fehlen

Geht es nach den Entwicklern des ersten DirectX-12 -Spiels, so unterstützen Nvidias aktuelle Grafikkarten keine Asynchronous Shader. Je nach Programmierung rechnen Geforce-Chips langsamer, statt wie AMD -Modelle deutlich schneller zu werden. In den aktuellen Konsolen wird Asynchronous Compute daher bereits genutzt.
/ Marc Sauter
128 Kommentare News folgen (öffnet im neuen Fenster)
Ashes of the Singularity (Bild: Oxide Games)
Ashes of the Singularity Bild: Oxide Games

Ein Mitarbeiter von Oxide Games sagte(öffnet im neuen Fenster) , seines Wissens würden Nvidias aktuelle Maxwell-Grafikkarten keine Asynchronous Shader unterstützen. Oxide Games haben Ashes of the Singularity entwickelt, das bisher erste Spiel mit der DirectX-12-Grafikschnittstelle. Der Strategietitel nutzt ein bisschen Asynchronous Compute, was auf AMD-Karten die Leistung messbar steigert. Auf Nvidias Maxwell-Modellen hingegen hat das Studio die Funktion abgeschaltet, da die Geschwindigkeit drastisch einbreche.

Asynchronous Shader sind eine optionale Komponente von DX12, bei der Grafik- und Compute-Aufgaben parallel statt nacheinander abgearbeitet werden können. Statt Befehlsschlangen mit gemischten Grafik- und Compute-Befehlen mit einem sehr zeitaufwendigen und damit leistungssenkenden Context-Switch durchzuführen, werden die Aufgaben quasi im Reißverschlussverfahren in ein- und derselben Befehlsschlange abgearbeitet.

AMD erklärt Async Compute
AMD erklärt Async Compute (02:56)

Die Ansteuerung übernehmen bei AMDs Grafikkarten die ACEs: Eine Fury X etwa verfügt über acht dieser Asynchronous Compute Engines, die jeweils acht Befehlsschlangen verwalten. In The Tomorrow Children für die Playstation 4, in der eine GCN-Grafikeinheit mit Asynchronous-Compute-Unterstützung steckt, verringert die Funktion die Berechnungszeit um 15 Prozent pro Frame ( PDF(öffnet im neuen Fenster) ).

Was bei einer AMD-Grafikkarte in einem optimierten Reißverschlussverfahren klappt, muss bei Nvidia klassisch der Reihe nach berechnet werden. Das erhöht die Leistung zwar nicht, verringert sie aber auch nicht. Ashes of the Singularity fragt allerdings die Vendor ID der Grafikkarte ab und der Geforce-Treiber vermeldete, die Maxwell-v2-Architektur beherrsche Asynchronous Compute.

In der Folge sank die Leistung laut dem Entwicklerstudio desaströs, da ständig Context-Switches durchgeführt werden müssen, und Oxide Games entschied sich, Asynchronous Compute zu deaktivieren. Nvidias Präsentation zum Direct Mode von Gameworks VR unterstützt den Gedankengang ( PPTX(öffnet im neuen Fenster) ): Der Hersteller empfiehlt, kurze Draw-Calls zu verwenden. Möglicherweise ist aber auch schlicht die Treiber-Unterstützung für Async Shader noch nicht fertig.

Spannend dürfte werden, wie stark AMDs Grafikkarten künftig von Asynchronous Compute profitieren. Passend dazu: Zumindest in Ashes of the Singularity schneiden die Radeon- verglichen mit den Geforce-Modellen nicht viel besser ab als in anderen Spielen ohne DirectX-12 auch.


Relevante Themen