DirectX 12 & Nvidia-Grafikkarten - Laut Oxide Games fehlt ein wichtiges Feature (Update)

Nachdem AMD-Grafikkarten von DirectX 12 bislang deutlich mehr profitieren, hat Oxide Games nun auch einen Grund ausgemacht: Alle aktuellen Nvidia-Grafikkarten unterstützen demnach Asynchronous Compute nicht in Hardware.

von Georg Wieselsberger,
06.09.2015 08:53 Uhr

Nvidia-Grafikkarten unterstützen unter DirectX 12 die Funktion Asynchronous Compute nicht, so ein Mitarbeiter von Oxide Games.Nvidia-Grafikkarten unterstützen unter DirectX 12 die Funktion Asynchronous Compute nicht, so ein Mitarbeiter von Oxide Games.

Update: Inzwischen gibt es weitere Details zu der Funktion Asynchronous Compute und den aktuellen Nvidia-Grafikkarten. Laut »Kollock« von Oxide Games hat ein weiteres Gespräch mit Nvidia ergeben, dass der Treiber entgegen dem Anschein in diesem Bereich unvollständig ist und deswegen nicht korrekt funktioniert. Nun arbeiten die Entwickler mit Nvidia zusammen, um Asynchronous Compute vollständig zu integrieren.

Allerdings wird dies nichts daran ändern, dass aktuelle Nvidia-Grafikkarten gewisse Aufgaben für Asynchronous Compute in Software lösen müssen, die die GCN-Grafikkarten von AMD auch komplett über Hardware erledigen. Es handelt sich dabei um die Verarbeitung der Befehlswarteschlangen und die Verteilung der Aufgaben an die Grafik-Hardware. Das wirkt sich vor allem dann negativ aus, wenn viele Aufgaben über Asynchronous Compute erledigt werden sollen. Laut der Diskussion bei Overclock.net spielt dann aber auch eine Rolle, wie viele Threads die CPU verarbeiten kann – je mehr, umso besser.

Quelle: Overclock.net

Update: Auf Reddit gibt es eine weitere ausführliche Erklärung zu dem Problem, das Maxwell-Grafikkarten von Nvidia mit Async Compute haben. Demnach wird diese Funktion im Geforce-Treiber nur durch Software emuliert, indem entsprechende Aufgaben einfach an den Prozessor des PCs weitergereicht werden und sich die GPU nur um die Grafik selbst kümmert. Auf diese Weise kann der Treiber trotzdem behaupten, dass Asynchronous Compute unterstützt wird.

Schickt ein Spiel oder ein Benchmark aber über diesen Umweg sehr viele dieser Aufgaben an die CPU, wird diese überlastet, was für Leistungseinbrüche sorgt. Daher haben Oxide Games in ihrem Benchmark Asynchronous Compute für Nvidia-Grafikkarten deaktiviert, da laut dieser Analyse im besten Fall keinerlei Leistungsgewinn und im schlechtesten Fall nur Leistungseinbrüche möglich sind. Wird Async Compute aber durch eine Grafikkarte unterstützt, steigen die Leistungsgewinne mit dem Umfang der Nutzung dieser Funktion.

DirectX-12-Spiele, die stark auf Asynchronous Compute setzen, werden daher auf aktuellen Nvidia-Grafikkarten viel schlechter laufen als auf aktuellen AMD-Modellen. AMD-Grafikkarten hingegen verstehen den von Maxwell unterstützten Feature-Level 12.1 gar nicht, so dass hier kein Leistungseinbruch die Folge ist, sondern entsprechende Effekte in Spielen einfach nicht aktiv wären. Wie sich das in der Praxis auswirkt, bleibt abzuwarten.

Quelle: Reddit

Originalmeldung: Die ersten Benchmarks mit Ashes of the Singularity hatten gezeigt, dass AMD-Grafikkarten von DirectX 12 stark profitieren, während das bei den aktuellen Nvidia-Geforce-Modellen nicht der Fall war. Nvidia hatte versucht, dass mit einem Fehler beim Kantenglättungsmodus MSAA im Benchmark selbst und dessen unfertigen Zustnd zu erklären, doch das hatten die Entwickler bei Oxide Games bestritten und erklärt, dass der MSAA-Fehler ein Treiberproblem von Nvidia sei und sich ohnehin kaum auf das Benchmark-Ergebnis auswirken würde. Außerdem hätten AMD, Intel und Nvidia seit rund einem Jahr stets Zugriff auf den Code des Benchmarks.

Nun hat ein Mitarbeiter von Oxide Games im Forum von Overclock.net unter dem Namen »Kollock« erneut Stellung zur Diskussion zu Nvidias Geforce-Grafikkarten unter DirectX 12 bezogen. Laut dem Beitrag unterstützen Maxwell-Grafikkarten wie die Geforce GTX 980 die Funktion Asynchronous Compute nicht, obwohl die Grafikkarten-Treiber etwas anderes melden. Wenn ein Programm versuche, diese Funktion zu nutzen, sei die Leistung der Nvidia-Grafikkarten »eine vollständige Katastrophe«. Aus diesem Grund habe man diese Funktion speziell für Nvidia-Grafikkarten deaktivieren müssen.

Warum der Treiber eine Funktion als vorhanden meldet, die wohl gar nicht existiert, weiß der Entwickler allerdings auch nicht. Unter DirectX 11 liege dieses Funktion nicht offen und spiele keine Rolle, unter DirectX 12 allerdings schon. Allerdings verwende Ashes of the Singularity diese Funktion nur in einem kleinen Rahmen, indem bestimmte Berechnungen, die ohnehin notwendig waren, auf diese Weise verarbeitet werden. Das Spiel sei daher auch kein gutes Vorführungsobjekt für die Fähigkeiten der GCN-Architektur von AMD.

Viele Konsolen-Entwickler würden Asynchronous Compute wesentlich mehr und für andere Zwecke einsetzen, die noch nicht den Weg auf den PC gefunden hätten. Dort seien inzwischen Leistungssprünge von 30 Prozent möglich. Das könnte laut »Kollock« in rund einem Jahr auch zu PC-Spielen führen, die stark auf Asynchronous Compute setzen und damit vor allem für GCN optimiert sind. Sollten alle diese Angaben stimmen, dann dürfte Nvidia frühestens mit der nächsten GPU-Generation Pascal wirklich von DirectX 12 profitieren.

Quelle: Overclock.net

Ashes of the Singularity - Screenshots ansehen


Kommentare(204)

Nur angemeldete Benutzer können kommentieren und bewerten.