Categories: Sonstiges

Einsteigerguide: eine kurze Einführung in DirectX.

Für den durchschnittlichen Gamer ist die Entwicklung von PC-Spielen ein schwieriges Unterfangen.

Bei Konsolen haben Entwickler für jede Marke (Xbox, PlayStation, Nintendo) ein Hardware-Set: einen Prozessor, einen Grafikchip, einen vorgegebenen Speicher, Eingabemöglichkeiten und andere Standard-Hardwarekomponenten.

Es ist weiterhin sehr schwierig, Spiele über eine Vielzahl von Grafikkarten, Motherboards etc. zum Laufen zu bringen.

Die Entwickler verfügen heute über anständige Hardware zum günstigen Preis, die Piraterie ist gering und die Entwickler haben bei der Programmierung ihrer Software praktisch direkten Zugriff auf die Hardwarekomponenten.

Letzteres ist von entscheidender Bedeutung, da Entwickler jedes Gramm Leistung aus der Hardware herausquetschen und die Vorteile der integrierten Komponentenfunktionen nutzen können. Aus diesem Grund ist Microsofts DirectX für PC-Spiele so wichtig.

Was ist DirectX?

DirectX ist eine von Microsoft entwickelte Software, die mit den Hardwarekomponenten eines PCs kommuniziert. Konkret handelt es sich um eine Sammlung von Anwendungsprogrammierschnittstellen oder APIs, die für Aufgaben im Zusammenhang mit der Darstellung von 2D- und 3D-Vektorgrafiken, der Darstellung von Videos und der Wiedergabe von Audio auf der Windows-Plattform entwickelt wurden.

Nvidia: Der Fokus von DX12 liegt darauf, eine drastische Steigerung der visuellen Reichhaltigkeit durch eine signifikante Verringerung des API-bezogenen CPU-Overheads zu ermöglichen.

Es konkurriert mit OpenGL, einer weiteren 1992 eingeführten grafikorientierten API-Suite, die Open-Source ist und sich in ständiger Weiterentwicklung durch das Technologiekonsortium der Khronos-Gruppe befindet. Und obwohl OpenGL eine plattformübergreifende API ist, hat es nicht den Vorteil, dass es nativ auf der Windows-Plattform läuft.

DirectX erschien erstmals unter Windows 95. Damals liefen die meisten PC-Spiele auf der alten DOS-Plattform, so dass Entwickler direkt mit PC-Komponenten wie Audiokarte, Grafikkarte, Maus und mehr „sprechen“ konnten.

Viele erfahrene PC-Spieler sollten sich an die alten Tage der Bearbeitung der Datei Config.sys und der Datei Autoexec.bat erinnern, um die richtige Settingsumgebung einzurichten, damit ein bestimmtes Spiel korrekt funktionieren konnte (IRQs und DMAs wurden ebenfalls bearbeitet, aber das ist eine andere Geschichte).

Windows 95 hatte diese direkte Kommunikationslinie nicht – bis Microsoft seine DirectX-Suite von APIs entwickelte.

Zunächst war DirectX nicht in Gang gekommen, da sich die Entwickler damals meist auf OpenGL verließen und effizient in der DOS-Umgebung programmierten. Die Grafik-API-Suite von Microsoft gewann im Laufe der Zeit an Dynamik, nachdem die Entwickler herausgefunden hatten, dass sie nie wieder verschwinden würde.

So schien DirectX OpenGL bis zur Veröffentlichung der Version 9 (alias DX9) in der PC-Gaming-Szene im Jahr 2002 aus dem Weg geräumt zu haben. Windows XP dürfte das Wachstum von DirectX beschleunigt haben, da diese spezielle Plattform sehr stabil war und immer noch weltweit im Einsatz ist. Windows 10 soll genauso beliebt sein und damit kommt das neueste der DirectX-Serie, DirectX 12.

Was DX12 für einen Nutzen hat.

Der Nachteil von DirectX vor dieser neuesten Version ist, dass es immer noch keinen „low-level“ Zugriff auf Hardwarekomponenten wie bei den Konsolen bot. Um dies zu beheben, hat AMD seine Mantle API Suite veröffentlicht, damit Entwickler ihre Software für AMD-Chips besser optimieren können.

Wir haben keinen Grund für Microsoft gesehen, die DX12-Unterstützung für ältere Versionen von Windows einzuführen.

Im Wesentlichen sind Grafikchips genauso leistungsfähig wie der Hauptprozessor geworden und übernehmen andere Rechenaufgaben als das Rendern von Grafiken.

AMDs Mantle ermöglichte es Entwicklern, diese Leistung in kompatiblen Radeon-Grafikchips zu nutzen. Mantle wurde scheinbar gut aufgenommen und spektakulär durchgeführt, aber es war nur von kurzer Dauer, da Microsoft schnell eine Version von DirectX veröffentlichte, die Entwicklern endlich einen besseren Zugang zur Hardware ermöglichte.

„Der Fokus von DX12 liegt darauf, eine dramatische Steigerung der visuellen Reichhaltigkeit durch eine signifikante Senkung des API-bezogenen CPU-Overheads zu ermöglichen“, sagte Henry Moreton von Nvidia im vergangenen Jahr. „In der Vergangenheit haben Treiber und Betriebssystemsoftware Speicher, Status und Synchronisation im Auftrag von Entwicklern verwaltet. Ineffizienzen ergeben sich jedoch aus dem unvollkommenen Verständnis der Anforderungen einer Anwendung. DX 12 gibt der Anwendung die Möglichkeit, Ressourcen und Zustände direkt zu verwalten und die notwendige Synchronisation durchzuführen. Dadurch können Entwickler fortschrittlicher Anwendungen den Grafikprozessor effizient steuern und die Vorteile ihrer detaillierten Kenntnisse über das Spielverhalten nutzen.“

Durch das Dumping von mehr Aufgaben auf den Grafikchip hat der Hauptprozessor weniger zu tun, so dass das Spiel nicht durch das, was im Hintergrund des Betriebssystems vor sich geht, blockiert wird. Je mehr Kerne, desto besser, d.h. ein Prozessor mit zwei Kernen ist nicht ganz so lebhaft wie ein Prozessor mit vier Kernen.

Das Gleiche gilt für einen Grafikchip und Sie können eine Geschwindigkeitssteigerung erreichen, wenn Sie zwei des gleiches Grafikchips in ein System installieren (bekannt als SLI über Nvidia und CrossFire über AMD). Mit DirectX werden Spiele wahrscheinlich eine bessere Leistung erzielen, da die Last zwischen den mehreren Kernen gleichzeitig verteilt wird, anstatt Lasten auf jeweils einen Kern zu verteilen.

Das ist eine große Sache, da DirectX 11 auf diese Weise nicht mehrere Kerne ausnutzt, so dass ein einzelner Kern die gesamte Arbeit erledigt, während die anderen untätig bleiben. Die Tage mit einem einzigen CPU- und einem einzigen GPU-Kern waren schon sehr schnell gezählt und Microsoft ist endlich mit dieser neuesten DirectX-Version auf dem Laufenden.

Betrachten Sie es so: Computer sind von einer einspurigen auf eine achtspurige Autobahn übergegangen, so dass die CPU Rendering- und Rechenbefehle schneller als je zuvor auf den Grafikprozessor werfen kann. Für den Gamer bedeutet das bessere Frameraten und eine bessere Bildqualität.

Möchten Sie auch DX12? Dann steigen Sie auf Windows 10 um.

Das Schöne an DirectX 12 ist, dass es sich um eine native API von Windows 10 handelt. Windows 10 wiederum wird auf einer Vielzahl von Geräten verwendet, von Desktops über Laptops und Tablets bis hin zu Smartphones auf der Xbox One. DirectX 12 ist bis zu einem gewissen Grad auch abwärtskompatibel, so dass PC-Spieler ihre Lieblingstitel abspielen können, ohne ihre Grafikkarte für ein neues „kompatibles“ Modell herausreißen zu müssen (in den meisten Fällen).

Wenn Sie eine detaillierte Erklärung der drei wichtigsten drei Bereiche von DirectX 12 wünschen, lesen Sie hier den DirectX 12-Blog von Microsoft, geschrieben von Matt Sandy. Zusammenfassend skizziert er eine so genannte Pipeline-Zustandsdarstellung, Arbeitsübertragung und Ressourcenzugriff.

Es stellt auch ein Diagramm zur Verfügung, das zeigt, dass DirectX eine 50%ige Verbesserung der CPU-Auslastung gegenüber DirectX 11 und eine bessere Verteilung der Arbeit auf mehrere Sequenzen von programmierten Anweisungen oder Threads bietet.

Die gute Nachricht hier ist, dass es eine Reihe von PC-Spielen gibt, die bereits die Vorteile von DirectX 12 nutzen. Dazu gehören Ashes of the Singularity. The Elder Scrolls Online, Rise of the Tomb Raider, Gears of War: Ultimate Edition und Hitman unter anderem. Quantum Break wird voraussichtlich die neue API sowie Deus Ex: Mankind Devided, Star Citizen, Forza Motorsport 6: Apex und mehrere andere unterstützen.

Bitte beachten Sie, dass dies eine sehr vereinfachte Erklärung dessen ist, was DirectX 12 an den PC-Spieltisch bringt. Im Wesentlichen sollte diese API eine bessere Leistung in Spielen bieten, die sie unterstützten, aber das bedeutet auch, dass Entwickler wahrscheinlich Patches herausfiltern müssen, um ihre Titel nach Möglichkeit auf DirectX 12 Geschwindigkeit zu bringen.

GPU-Anbieter AMD und Nvidia sind schon sehr weit im Support ihrer Treiber, so dass es nur eine Frage der Zeit ist, bis wir wirklich die Vorteile von DirectX 12 sehen.

Wenn Sie noch kein Upgrade auf Windows 10 durchgeführt haben, ist DirectX 12 ein ebenso guter Grund wie jeder andere, dies zu tun. Wir haben auch keinen Grund für Microsoft gesehen, die DX12-Unterstützung für ältere Versionen von Windows einzuführen. Wenn Sie also die neuesten Spiele von ihrer besten Seite spielen wollen, haben Sie vielleicht keine Wahl.

Es ist es kostenlos und eine Weiterentwicklung von Windows 7, von daher sollte sich der Übergang nicht allzu kompliziert gestalten.

3DMaster