Startseite
» SPIELE
»
DirectX 11 vs. DirectX 12: Welches ist besser für Spiele?
DirectX 11 vs. DirectX 12: Welches ist besser für Spiele?
Kurz gesagt: DirectX 12 kann eine bessere Performance liefern, wenn ein Spiel optimal darauf ausgelegt ist, insbesondere wenn die CPU die Framerate begrenzt. DirectX 11 kann in einem bestimmten Spiel oder auf einem bestimmten PC flüssiger oder zuverlässiger laufen. Keine der beiden APIs ist automatisch schneller, schöner oder stabiler. Wenn ein Spiel beide unterstützt, vergleichen Sie sie im Spiel selbst auf Ihrer Hardware.
Direct3D 12 ermöglicht es einem Spiel, mehrere Befehlslisten gleichzeitig aufzuzeichnen; dieses Konzeptbild ist kein Hardware-Benchmark.
Welche Änderungen gibt es zwischen DirectX 11 und DirectX 12?
In den meisten Diskussionen über Videospiele bezeichnen „DirectX 11“ und „DirectX 12“ die Direct3D-Grafik-APIs, die ein Spiel verwendet, um die Rendering-Aufgaben über Windows und den Grafiktreiber an die GPU zu senden. Die API beeinflusst die Organisation dieser Aufgaben; sie legt keine universelle Qualitätsvoreinstellung fest und verbessert auch nicht automatisch die Darstellung derselben Spielszene.
Direct3D 11 verfügt über ein höherwertiges Programmiermodell. Laufzeitumgebung und Treiber verwalten mehr Details des Spiels, was es Entwicklern erleichtert, eine breite Palette von Systemen zu unterstützen. DX11 ist nicht strikt Single-Threaded: Microsoft dokumentiert die Multithread-Objekterstellung und die Aufzeichnung von Befehlslisten in Direct3D 11.
Direct3D 12 ermöglicht der Spiel-Engine eine direktere Steuerung. Das Spiel kann mehrere Befehlslisten auf verschiedenen CPU-Threads aufzeichnen und diese anschließend an Befehlswarteschlangen übermitteln. Es übernimmt außerdem mehr Verantwortung für Ressourcenzustände und die CPU/GPU-Synchronisierung. Dies kann die CPU-Auslastung reduzieren und die Skalierbarkeit verbessern, bedeutet aber gleichzeitig einen höheren Implementierungsaufwand für das Spiel.
Bereich
DirectX 11
DirectX 12
Arbeitsabgabe
Die Laufzeitumgebung und der Treiber übernehmen einen größeren Teil der Verwaltung.
Das Spiel zeichnet Befehlslisten auf und übermittelt sie mit präziserer Kontrolle.
CPU-Skalierung
Unterstützt Multithreading mit einem besser verwalteten Modell.
Kann die Befehlsaufzeichnung direkter auf die CPU-Kerne verteilen.
Spielerergebnis
Oft ein nützlicher Ausweg aus Kompatibilitäts- oder Stabilitätsgründen.
Kann die CPU-limitierte Leistung verbessern, wenn das Spiel dafür optimiert ist.
DX12 ist besonders hilfreich, wenn ein Spiel CPU-lastig ist: Der Prozessor ist mit der Vorbereitung von Aufgaben für die GPU beschäftigt, während die Grafikkarte noch Kapazitäten hat. Ein gut optimierter DX12-Renderer kann mehrere CPU-Kerne effizienter nutzen und den Treiber-Overhead reduzieren. Diese Vorteile hängen von der Spiel-Engine, deren Patch, der CPU, der GPU und dem Treiber ab.
Wenn die GPU bereits der Flaschenhals ist, bringt ein API-Wechsel möglicherweise wenig. DX12 fügt außerdem nicht automatisch Raytracing, Mesh-Shader, Variable-Rate Shading oder andere Grafikfunktionen hinzu; das Spiel muss die jeweilige Funktion implementieren, und Hardware sowie Treiber müssen sie unterstützen. Selbst eine GPU, die Direct3D 12 ausführen kann, bietet möglicherweise unterschiedliche Funktionsumfänge oder -fähigkeiten. Weitere Informationen dazu, warum API-Unterstützung und Funktionsunterstützung nicht dasselbe sind, finden Sie im Direct3D-Hardware-Funktionsleitfaden von Microsoft.
DX11 ist eine sinnvolle Wahl, wenn ein Spiel kein DX12 unterstützt, der Entwickler DX11 für Ihr System empfiehlt oder DX12 wiederholt Ruckler, Grafikfehler, Einfrieren oder Abstürze verursacht. Eine ältere Grafikkarte oder ein älterer Treiber funktionieren unter Umständen auch zuverlässiger mit dem DX11-Pfad des Spiels. Betrachten Sie dies als eine Entscheidung, die von Spiel zu Spiel unterschiedlich ist, und nicht als eine Regel, nach der jeder ältere PC DX11 verwenden sollte.
Verwenden Sie die vom Spiel vorgegebenen Renderer-Optionen; es gibt keinen universellen Windows-Schalter, der jedes Spiel dazu bringt, DX11 oder DX12 zu verwenden.
Wie man die beiden in einem Spiel vergleicht
Prüfen Sie die aktuellen Optionen und Support-Hinweise des Spiels. Manche Spiele bieten nur einen Renderer; andere ermöglichen die Auswahl von DirectX in den Grafikeinstellungen oder im Launcher. Stellen Sie sicher, dass Ihre Grafikkarte, Ihr Treiber und Ihre Windows-Version die Systemanforderungen des Spiels erfüllen.
Führen Sie den Test konsistent durch. Verwenden Sie denselben Spielstand, dieselbe Wiedergabe oder denselben integrierten Benchmark mit derselben Auflösung, denselben Grafikeinstellungen, derselben Bildwiederholfrequenzbegrenzung und denselben Hintergrundanwendungen. Lassen Sie die Szene zunächst einmal durchlaufen, falls das Spiel Shader kompiliert oder zwischenspeichert, und wiederholen Sie den Test anschließend.
Vergleichen Sie die flüssige Darstellung, die Stabilität und die durchschnittliche Bildrate (FPS). Achten Sie auf gleichmäßige Frametimes, sichtbare Ruckler, Abstürze und Bildfehler. Wiederholen Sie jeden Testlauf; ein einzelnes kurzes Ergebnis kann irreführend sein. Wählen Sie den Modus, der sich bei Ihrem üblichen Spielstil am stabilsten anfühlt.
Das Verhalten des Renderers eines Spiels kann sich nach einem größeren Patch oder Treiberupdate ändern. Die für Fortnite, Ready or Not oder Path of Exile gemeldeten Ergebnisse beziehen sich auf die getestete Version und den jeweiligen PC; sie stellen keine allgemeingültige Empfehlung dar. Überprüfen Sie die aktuellen Entwicklerhinweise und testen Sie erneut, falls sich Ihr Spielverhalten ändert.
Für einen fairen Vergleich verwenden Sie bitte dieselbe Szene und dieselben Einstellungen. Die hier gezeigten Frame-Time-Verläufe dienen lediglich der Veranschaulichung und stellen keine Messergebnisse dar.
Welches sollten Sie also verwenden?
Beginnen Sie mit dem vom Spiel empfohlenen Renderer. Testen Sie DX12, falls es unterstützt wird und Sie die CPU-limitierte Leistung verbessern möchten. Wechseln Sie zu DX11, falls es auf Ihrem System flüssiger oder stabiler läuft. Wenn das Spiel nur eine Option bietet, verwenden Sie diese, anstatt eine andere API zu erzwingen. Letztendlich ist der Modus optimal, der Ihr Spiel flüssig und zuverlässig auf Ihrem PC ausführt.