Inhaltsverzeichnis
DirectX 11 vs. DirectX 12 – das sind die Gemeinsamkeiten und Unterschiede
Vor rund drei Jahren erschien DirectX 12 Ultimate und versprach revolutionäre Veränderungen für alle Gaming-Enthusiasten. Diese neue Technologie ermöglicht nicht nur eine erhebliche Steigerung der Leistung und Effizienz, sondern bietet auch eine Vielzahl von bahnbrechenden Funktionen, wie beispielsweise Raytracing. Aber was genau verbirgt sich hinter DirectX 12 und welche Unterschiede gibt es im Vergleich zu seinem Vorgänger DirectX 11? In diesem Blogbeitrag werden wir gemeinsam all diese Fragen und viele weitere Geheimnisse von DirectX 12 aufdecken.
Was ist die Hauptaufgabe von DirectX?
Wie OpenGL und Vulkan ist DirectX eine API (Application Programming Interface), die es ermöglicht, Videospiele auf dem Computer zu spielen. Im Gegensatz zu seinen Pendants handelt es sich bei DirectX jedoch um eine proprietäre Plattform von Microsoft, die nur unter Windows nativ ausgeführt werden kann. OpenGL und Vulkan hingegen werden auch von macOS und Linux unterstützt.
Haben Sie sich jemals gefragt, wie es möglich ist, dass Ihre Lieblingsspiele so flüssig und atemberaubend aussehen? Das Geheimnis liegt in Grafik-APIs wie DirectX. Sie dienen als Vermittler zwischen der Game-Engine und den Grafiktreibern, die wiederum mit dem OS-Kernel interagieren. Eine API ist normalerweise für ein bestimmtes Betriebssystem entwickelt, was bedeutet, dass Spiele, die für die PS4 konzipiert wurden, nicht auf der Xbox One laufen und umgekehrt. Aber Microsoft hat mit DirectX 12 Ultimate eine neue Ära eingeläutet, denn es ist die erste Grafik-API, die diese Regel bricht. Diese revolutionäre Programmierschnittstelle kann sowohl unter Windows als auch auf der Xbox Series X der nächsten Generation verwendet werden. Das bedeutet, dass Sie ein atemberaubendes Spielerlebnis auf Ihrem PC und Ihrer Konsole genießen können, ohne sich jemals zwischen den beiden entscheiden zu müssen.
DirectX 11 vs. DirectX 12 – was die neuere Version bietet
Die verbesserte CPU-Auslastung ist einer der Hauptvorteile von APIs wie DirectX 12. In der Vergangenheit nutzten die meisten Spiele, die auf DirectX 9 und 11 basierten, nur 2 bis 4 Prozessorkerne für die verschiedenen Mechaniken: Physik, AI, Draw-Calls und vieles mehr. Manche Spiele waren sogar auf nur einen einzigen Kern beschränkt. Dies hat sich mit DirectX 12 geändert. Die Last wird nun gleichmäßiger auf alle Kerne verteilt, wodurch Multi-Core-CPUs für Gamer interessanter werden.
Mit DirectX 12 wurden zahlreiche Technologien zur Verbesserung der Rechenleistung eingeführt. Dazu gehört beispielsweise die asynchrone Berechnung. Bei einigen aktuellen Titeln ist die Leistungssteigerung deutlich spürbar. Kombiniert mit den Spielstärken von Windows 11 weiß DirectX 12 seine Stärken voll auszuspielen.
Ein weiterer großer Vorteil von DirectX 12 ist, dass die Entwickler mehr Einfluss auf die Hardwareausnutzung ihrer Spiele nehmen können. In der Vergangenheit war dies eher abstrakt und wurde in erster Linie durch die Treiber und die API geregelt. Jetzt liegt diese Aufgabe bei den Entwicklern. Der Zugriff auf die Hardware ist direkter, was bedeutet, dass die meisten Rendering-Aufgaben und die Ressourcenzuweisung von den Spiele-Engines übernommen werden können. Da es mehrere GPU-Architekturen auf dem Markt gibt und es für unabhängige Entwickler unmöglich ist, ihr Spiel für alle zu optimieren, ist dies ein zweischneidiges Schwert. Glücklicherweise werden die notwendigen Optimierungen von Drittanbietern wie Unity, Unreal und CryEngine übernommen, so dass sich die Spieleentwickler uneingeschränkt auf das Spieldesign konzentrieren können.
Hardwareauslastung – ein Blick unter die Haube von DirectX
Jede Anwendung, einschließlich Grafik-APIs wie DirectX, hat einen primären Thread, der den internen Status der API überwacht. In DirectX 9 und 11 gibt es einen globalen Status, der von den auf Ihrem PC ausgeführten Spielen über Draw-Aufrufe an die API geändert wird. Dieser Zustand wird dann zur Ausführung an die GPU übergeben. Da es nur einen globalen Zustand/Kontext gibt und nur einen Haupt-Thread, der ihn ausführt, kann Multi-Threading schwierig sein, da mehrere gleichzeitige Zeichenaufrufe Fehler verursachen können. Außerdem ist das Ändern des globalen Zustands über Zustandsaufrufe ein relativ langsamer Prozess.
Mit DirectX 12 gibt es jedoch eine flexiblere Möglichkeit, Draw Calls zu handhaben. Anstatt einen einzigen globalen Zustand (Kontext) zu haben, hat jeder Draw Call seine eigenen kleineren Zustand von der Anwendung. Diese Draw-Aufrufe sind unabhängig von anderen Aufrufen und deren Zuständen und enthalten die erforderlichen Daten und zugehörigen Zeiger. Dadurch können mehrere Threads für unterschiedliche Draw Calls verwendet werden, ohne dass Fehler auftreten.
In DirectX 11 gibt es nur eine Warteschlange zur GPU, was zu einer ungleichmäßigen Verteilung der Last auf verschiedene CPU-Kerne führt und Multithread-CPUs stark ausbremst. Obwohl die Verwendung eines verzögerten Kontexts diese Auswirkungen etwas mildern kann, bleibt es letztendlich bei einem Strom von Befehlen, der in der letzten Phase zur CPU führt. In DirectX 12 wird ein neues Modell eingeführt, das Befehlslisten verwendet, die unabhängig voneinander ausgeführt werden können und damit das Multithreading erhöhen. Die Aufteilung der Arbeitslast in kleinere Aufträge gehört ebenfalls dazu. Auf diese Weise können Berechnungs- und Grafikbefehle in separate Warteschlangen aufgeteilt werden, um die asynchrone Berechnung zu ermöglichen.
DirectX 12 Ultimate vs. DirectX 12 – was macht die Version so ultimativ?
DirectX 12 Ultimate ist eine Inkrementelle Weiterentwicklung des bestehenden DirectX 12. Sein Hauptvorteil liegt in der plattformübergreifenden Unterstützung, die sowohl der nächsten Generation der Xbox Series X als auch den neuesten PC-Spielen zugutekommt. Dadurch wird nicht nur die plattformübergreifende Portierung vereinfacht, sondern es erleichtert Entwicklern auch die Optimierung ihrer Spiele für die neueste Hardware. Zu den Upgrades gehören DirectX Raytracing 1.1, Mesh-Shader, Shading mit variabler Rate und die Einführung des Sampler-Feedbacks.
Microsoft hat besonderen Wert auf Texture Sampler Feedback (TSF) gelegt. Im Wesentlichen verfolgt es die Texturen (MIP-Maps) und überprüft, welche im Spiel angezeigt werden und welche nicht. Dann werden die ungenutzten aus dem Speicher entfernt, was zu einem erheblichen Vorteil bei der Speichernutzung führt.
Sie möchten die ideale Grundlage für die neusten Games nutzen? Softwarekaufen24 bietet Ihnen das leistungsfähige Windows 11 zu einem herausragenden Preis-Leistungs-Verhältnis an. Noch viele andere Softwarelösungen warten in unserem Shop auf Sie – entdecken Sie die Möglichkeiten.