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.

(Bild: Nvidia)
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.
Nvidia-GPUs im Nachteil
(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.
Async Compute auf Nvidia ein "vollkommenes Desaster"
(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.
Entwickler beugt sich Nvidia-Forderungen nicht
(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)