NVIDIAs Maxwell unterstützt DirectX 12 nicht vollständig

Der Treffpunkt für Computerspieler
[ this is the place to discuss computer games ]
Antworten
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 35265
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

NVIDIAs Maxwell unterstützt DirectX 12 nicht vollständig

Beitrag von doelf » 03 Sep 2015, 14:59

Alljährlich grüßt das Murmeltier: Dank Windows 10 gibt es wieder einmal eine neue Version von DirectX und die wichtigsten Hersteller von Grafiklösungen - namentlich AMD, Intel und NVIDIA - behaupten, diese mit ihren aktuellen Produkten bereits zu unterstützen. In Hinblick auf NVIDIAs beliebte Maxwell-Baureihe gibt es allerdings Zweifel, dass diese Unterstützung auch vollständig ist.

Das Problem hatte sich bereits Mitte August angedeutet, als mit Oxides "Ashes of the Singularity" erstmals ein realitätsnaher DX12-Test zur Verfügung stand. Während AMDs Grafikprozessoren in diesem Test deutliche Vorteile aus DirectX 12 ziehen konnten und die DX11-Messungen um bis zu 80 Prozent übertrafen, mussten NVIDIAs Grafikkarten zuweilen sogar Leistungsdefizite hinnehmen. NVIDIAs Presseabteilung sprach zunächst von einer fehlerhaften MSAA-Implementierung seitens Oxide und erklärte die Messergebnisse für nichtig, doch nach Ansicht der Spielentwickler lag das Problem einzig und alleine bei NVIDIA. In einer zweiten Stellungnahme kündigte NVIDIA dann an, das Problem zusammen mit Oxide lösen zu wollen. Seither schweigt der GPU-Hersteller beharrlich.

Weit weniger schweigsam war ein Entwickler von Oxide, der bei overclock.net unter dem Pseudonym Kollock schreibt. Dieser lobte die gute DX11-Performance der NVIDIA-Chips sowie ihren im Vergleich zu AMD weitaus besseren CPU-Overhead unter DirectX 12. Allerdings erwähnte er auch deutliche Defizite bei Async Compute, denn hier hätte nur AMD stark zulegen können. Dabei würde "Ashes of the Singularity" von dieser Funktion im Vergleich zu einigen Konsolenspielen nur moderat Gebrauch machen. Wenig später legte Kollock noch einmal nach und erklärte, dass die Maxwell-GPUs Async Compute nicht nativ beherrschen. In die selbe Kerbe schlägt auch AMDs technischer Marketingleiter Robert Hallock, der Maxwell als völlig unfähig zum Ausführen von Async Compute bezeichnet.

Async Compute sorgt für eine bessere Auslastung der Grafikprozessoren, indem Compute-Befehle parallel zur Rendering-Pipeline abgearbeitet werden. Hierdurch wird die ursprüngliche Reihenfolge verändert, die Verarbeitung läuft also asynchron. Mit Compute werden unter DirectX 12 neben der Physik auch Licht und Schatten berechnet, zudem wird Compute für die Nachbearbeitung, beispielsweise die Kantenglättung, genutzt. Dies würde auch die großen Leistungsunterschiede bei "Ashes of the Singularity" erklären, bei dem MSAA als Voreinstellung hinterlegt ist. Für kommende VR-Anwendungen sind auch die Async Shader wichtig, welche die Latenzen bei Kopfbewegungen bei niedrig halten sollen.

Tatsächlich signalisiert NVIDIAs aktueller Treiber Unterstützung für Async Compute, greift dafür aber auf eine Behelfslösung zurück. Da Maxwell zur Laufzeit nur eine Befehlsart verarbeiten kann, muss zwischen Compute- und Rendering-Befehlen gewechselt werden. Dieses Context Switching scheint so langsam zu sein, dass die Grafikleistung darunter leiden kann. Offenbar macht NVIDIA den Entwicklern genaue Vorgaben, wie sie Async Compute zu verwenden haben, doch da es sich nicht um eine native Lösung handelt, scheinen Leistungsgewinne auch bei korrekter Umsetzung unwahrscheinlich. Ob es darüber hinaus noch ein Treiberproblem gibt, ist zum jetzigen Zeitpunkt unklar. NVIDIA äußert sich erfahrungsgemäß nicht gerne zu Spekulationen, an denen tatsächlich etwas dran ist.

Quelle:
https://archive.is/xNBv5#selection-2265.47-2265.59
. Tails . Linux . USB . CD . Secure Desktop . IRC . Truecrypt . Tor .

Antworten