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.
Ein Mitarbeiter von Oxide Games sagte, 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.
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).
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): 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.
Die geringen FPS bei geringen auflösungen sind ein Software Problem. Diese sind bei DX12...
Dazu steht was im dem anderen Link. Sind für mich bisher die besten Infos zu dem Thema.
Das Problem trifft auch auf, wenn man ein netflix Video in 4k vom PC wiedergeben möchte...
Der Treiber meldet, die Hardware könne es, stimmt nur nicht.