Async Shaders: Fehlende DirectX-12-Funktion auf Nvidia-Grafikkarten "ein vollkommenes Desaster"

Nvidia-Grafikkarten können im Unterschied zu aktuellen AMD-Radeons eine bestimmte Funktion nicht effizient ausführen. Dadurch kann die Performance in künftigen DirectX-12-Spielen drastisch einbrechen.

In Pocket speichern vorlesen Druckansicht 322 Kommentare lesen
GEForce GTX

(Bild: Nvidia)

Lesezeit: 3 Min.
Inhaltsverzeichnis

Nvidias aktuelle Grafikkarten (Fermi/Kepler/Maxwell/Maxwell 2.0) sind bei DirectX-12-Berechnungen nicht so effizient wie angenommen. In DirectX-12-Spielen geht die Spieleleistung im Vergleich zu Radeon-Grafikkarten offenbar deutlich in den Keller, sobald die DirectX-12-Funktion Asynchronous Shading/Compute zum Einsatz kommt.

Durch Asynchronous Shading/Compute können Grafik- und Compute-Kernels simultan und unabhängig voneinander abgearbeitet werden, was hohe Latenzzeiten vermeidet und die Performance erhöht. Nvidia-Grafikkarten unterstützen Asynchronous Compute offenbar nur über ineffiziente Umwege. Dadurch kann die Performance in DirectX-12-Spielen drastisch sinken im Vergleich zu AMD-Grafikkarten, deren GCN-Architektur für Asynchronous Compute in Hardware ausgelegt wurde.

AMD-Manager Robert Hallock bestätigte: AMD-GPUs kommen ohne Context Switch zwischen Grafik- und Compute-Anwendungen aus - im Unterschied zu Nvidia-GPUs.

(Bild: Linkedin)

Robert Hallock – AMDs Chef fürs weltweite technische Marketing – bestätigte während einer Telefonkonferenz gegenüber c't, dass Nvidia-GPUs der Serien Kepler, Maxwell und Maxwell v2 einen Context Switch zwischen Grafik- und Compute-Anwendungen ausführen müssen, während ein solcher bei AMD-GPUs mit GCN-Architektur nicht nötig ist.

Nvidia selbst hat sich auf Anfrage noch nicht zum Thema geäußert.

Nvidia unterstrich allerdings bereits in einer Präsentation auf der GDC 2015, dass aktuelle Nvidia-GPUs nur einen Context zur Laufzeit ausführen können und Entwickler darauf achten müssen, ihre Befehlsketten so klein halten zu müssen, dass sie unterhalb von 1 ms bleiben, damit keine wichtigen Aufgaben hinter unwichtigeren hängen bleiben. Context Switches können demnach immer nur an Grenzen zwischen Draw Calls stattfinden.

Die Entwickler von Ashes of the Singularity beugten sich dem Druck von Nvidia nicht.

(Bild: Oxide Games)

Ein Mitarbeiter vom Studio Oxide Games, die etwa das DirectX-12-Spiel Ashes of the Singularity entwickeln, erklärte im overclock.net-Forum: "As far as I know, Maxwell doesn't really have Async Compute". Deswegen wundere er sich, weshalb der Nvidia-Treiber dies vorgaukelt. Oxide Games habe den Renderpfad für Nvidia-Grafikkarten angepasst und Async Compute deaktiviert, nachdem die Versuche die Funktion zu nutzen ein "vollkommenes Desaster" gewesen seien. Durch Async Compute könne AMDs GPU-Performance in Direct3D-12-Spielen steigen.

AMD listet die Vorteile von Async Shading auf.

(Bild: AMD)

Nach Angaben von Oxide Games habe Nvidia einige falsche Aussagen getroffen. Die PR-Abteilung von Nvidia habe auf die Entwickler Druck ausgeübt, damit sie bestimmte Einstellungen im Ashes-of-Singularity-Benchmark deaktivieren. Oxide Games habe diese Forderungen abgelehnt, was Nvidia "ein bisschen zu persönlich genommen habe".

Da in den Spielkonsolen Xbox One und PS4 Grafikchips mit GCN-Architektur stecken, dürfte Async Compute in Zukunft an Bedeutung gewinnen. Auf der PS4 sollen Entwickler bereits Vorteile durch die Technik erzielt haben, etwa in den Spielen Tomorrow's Children und Infamous: Second Son. Für Windows-PCs sind bereits einige DirectX-12-Spiele angekündigt, etwa Deus Ex: Mankind Divided und Fable.

Nvidia geriet bereits Anfang des Jahres in die Schlagzeilen, als die Firma unter erheblichem Druck zugeben musste, dass nur 3,5 von 4 GByte Speicher der GeForce GTX 970 schnell angebunden sind und der Grafikkarte GTX 970 überdies weniger Funktionseinheiten enthielt, als aus Datenblättern hervorging. (mfi)