2193163

Das macht DirectX 12 besser als der Vorgänger

28.04.2016 | 11:56 Uhr |

DirectX 12 soll alles besser machen: Hübschere Grafik, mehr Effizienz und bessere Leistung. Was die neue 3D-Programmierschnittstelle im Detail besser machen will, erfahren Sie in diesem Artikel.

Bei DirectX handelt es sich um eine 3D-Grafikschnittstelle von Microsoft, die die Kommunikation zwischen Anwendungen und Hardware ermöglicht. Die mittlerweile zwölfte Version ist allerdings nur den Besitzern von Windows 10 und der Xbox One vorbehalten. Im Kern soll die neue API (Application Programming Interface) bereits vorhandene Hardware besser ausreizen, die 3D-Leistung steigern und die Programmierung von Spielen und Anwendungen vereinfachen.

Bessere Auslastung von Multicore-CPUs

Wenn DirectX 12 zur Sprache kommt, dann dürfte im ersten Moment vor allem der Begriff „CPU Overhead“ fallen: Damit die Hardware die Anforderungen und Befehle der jeweiligen Anwendung versteht, muss sie erst einmal in eine Maschinensprache übersetzt werden. Diese Aufgabe übernimmt bei entsprechenden 3D-Anwendungen DirectX, allerdings nahm diese Übersetzung bisher immer recht viel CPU-Rechenkraft in Anspruch. Dadurch entstand ein sogenannter Overhead, der die Leistung bezeichnet, die das System nicht für Anwendungen zur Verfügung stellen kann.

DirectX 12 nutzt alle Rechenkerne eines Prozessors gleichmäßig aus, was für mehr Leistung sorgt.
Vergrößern DirectX 12 nutzt alle Rechenkerne eines Prozessors gleichmäßig aus, was für mehr Leistung sorgt.
© AMD

Genau diesen Overhead will die neueste Generation der Microsoft-API auf ein Minimum reduzieren. Denn bei DirectX 12 handelt es sich um eine Low-Level-API, die Entwicklern einen tieferen Zugriff auf die Hardware erlaubt – ähnlich wie bei Spielekonsolen. In DirectX 11 ist es gang und gäbe, dass ein CPU-Kern den Großteil der Grafikaufgaben übernahm, während die restlichen Kerne ungenutzt bleiben. Damit ähnelt DirectX 12 im Übrigen sehr dem 2014 vorgestellten Mantle von AMD.

Mit dem neu eingeführten „Multi-threaded Command Buffer Recording“ in DirectX 12 existiert nun ein Befehlszwischenspeicher für die CPU-GPU-Kommunikation und ermöglicht, dass sich mehrere Prozessorkerne gleichzeitig mit der Grafikkarte verständigen können. Dabei kann die neue API die Aufgaben auf alle verfügbaren CPU-Cores verteilen, um auf diese Weise mehr Daten innerhalb kürzester Zeit vom Prozessor zur Grafikkarte zu leiten. Das ermöglicht auch weitaus mehr simultane Draw Calls: Hierbei handelt es sich um Zeichenbefehle, die der Prozessor an die Grafikkarte verschickt. Diese Draw Calls enthalten verschiedene Objektinformationen wie zum Beispiel Größe, Farbe oder Position.

Microsoft stellt DirectX 12 vor

Asynchronous Shader für mehr GPU-Power

Natürlich profitieren auch die Grafikprozessoren von DirectX 12. Während sich in DirectX 11 die Speicher-, Compute- und Grafikbefehle brav hintereinander in der Render-Pipeline aufreihen müssen, um einer nach dem anderen abgearbeitet zu werden, erlaubt die überarbeitete Pipeline in DirectX 12 das parallele Berechnen aller drei Aufgaben. Auf diese Weise wird Zeit eingespart und die Effizienz erhöht. Noch konkreter: Die Latenz sinkt und die Bilder pro Sekunde steigen.

Damit es bei der Befehlseinspeisung in der Pipeline nicht zum Stau und damit zu Performance-Einbrüchen kommt, setzt Microsoft auf „Asynchronous Shader“. Diese Technik erkennt freie Lücken in den Befehlsketten, die sie dann beispielsweise mit Physik-Anweisungen füllen kann. Dieses Reißverschluss-Verfahren verhindert somit einen Stau in der Render-Pipeline.

Brauche ich eine neue Hardware für DirectX 12?

DirectX 12 wird mit den meisten aktuellen Grafikkarten arbeiten können. Bei AMD wären das die GPUs und APUs (Accelerated Processing Unit) der GNC-Architektur (Graphics Core Next). Also alle Grafikkarten ab der Radeon-HD-7000-Serie und natürlich auch die aktuellen Fiji-Modelle Fury (X). Bei Nvidia unterstützen alle Grafikprozessoren ab Fermi (GTX 400) die neue API.

DirectX 12: Nvida- und AMD-GPUs gleichzeitig nutzbar

Allerdings ist unterstützen nicht gleich unterstützen: Bei DirectX 12 muss man noch zwischen sogenannten Feature Levels und Tiers unterscheiden. Je nach Feature Level von DirectX kann eine Grafikkarte mehr oder weniger Grafikeffekte nutzen, ohne dafür gleich auf die Vorgängerversion zurückgreifen zu müssen. DirectX 12 verfügt über die Feature Level 11_0, 11_1, 12_0 und 12_1.

Je nach Feature Level unterstützen Grafikkarten mehr oder weniger DirectX-12-Funktionen.
Vergrößern Je nach Feature Level unterstützen Grafikkarten mehr oder weniger DirectX-12-Funktionen.
© Nvidia

Bei DirectX 12 setzt Microsoft auf das sogenannte „Resource Binding“. Dies beschreibt den Prozess, bei dem die Kopplung der Resource-Objekte an die Grafik-Pipeline erfolgt. Das Resource Binding unterteilt Microsoft in drei Stufen, den „Tiers“ (Ebenen): Jede Ebene ist seinem Vorgänger übergeordnet, womit Tier 1 mit den stärksten Einschränkungen (im Sinne von nicht vorhandenen DirectX-12-Funktionen) daherkommt und Tier 3 nahezu keine Limitierungen aufweist. Jedoch ist es auch nicht ungewöhnlich, dass einige Grafikkarten einige Features mehr unterstützen, als das Feature Level oder Tier angibt – in diesen Fällen hat der jeweilige Hersteller sie kurzerhand selbst implementiert.

Unterstützte Chips in verschiedenen Abstufungen

Tier-Abstufungen in DirectX 12

Tier 1

Intel Haswell-E, Broadwell, Nvidia Fermi

Tier 2

Nvidia Kepler, Maxwell 1.0 und Maxwell 2.0

Tier 3

AMD GCN 1.0, GCN 1.1 und GCN 1.2

Feature-Level-Abstufungen in DirectX 12

Feature level 11.0

Nvidia Fermi, Kepler und Maxwell 1.0

Feature level 11.1

AMD GCN 1.0, Intel Haswell und Broadwell

Feature level 12.0

AMD GCN 1.1 und GCN 1.2

Feature level 12.1

Nvidia Maxwell 2.0

Diese Spiele unterstützen DirectX 12

Aktuell erhältliche Titel mit DirectX-12-Unterstützung

Titel

Anmerkungen

Ashes of the Singularity

Descent: Underground

DirectX-12-Support im Menü zuschaltbar

Squad

DirectX-12-Patch ist in Arbeit

Survarium

DirectX-12-Patch ist in Arbeit

Caffeine

The Elder Scrolls Online

DirectX-12-Patch ist in Arbeit

Rise of the Tomb Raider

DirectX-12-Support wurde via Patch nachgereicht

Gears of War Ultimate Edition

Hitman

Quantum Break

Kommende Spiele mit DirectX-12-Unterstützung

Titel

  Anmerkungen

Deus Ex: Mankind Divided

Star Citizen

Ark: Survival Evolved

W.N.C: Infantry

Total War: Warhammer

Forza Motorsport 6: Apex

King of Wushu

Watch Dogs 2

ARMA 3

DirectX-12-Support nicht offiziell bestätigt

Quelle: Wikipedia

0 Kommentare zu diesem Artikel
2193163