GDC 2014: Microsoft kuendigt DirectX 12 an: Low-Level-API gegen den Treiber-Overhead

Microsoft hat Direct3D 12 als zentrale Neuerung der DirectX-Familie auf der Game Developers Conference am 20. Maerz 2014 formal vorgestellt. Im Mittelpunkt stand eine hardwarenahe Programmierung, die den Treiber-Overhead deutlich reduziert und die Arbeitslast gleichmaessiger auf mehrere Prozessorkerne verteilt. Die Ankuendigung markiert den Beginn jener API-Generation, die Xbox One, die spaetere Series-Hardware und den PC technisch auf eine gemeinsame Grundlage stellt.

Zur Untermauerung der Effizienzgewinne griff das Direct3D-Team auf eine nach Direct3D 12 portierte Fassung des Benchmarks 3DMark zurueck. Gemessen auf einem GIGABYTE BRIX Pro mit Intel Core i7-4770R und Iris Pro Graphics 5200 ergab sich eine Verbesserung der CPU-Auslastung um 50 Prozent bei gleichzeitig besserer Verteilung der Arbeit auf die einzelnen Threads. Das Team verwies darauf, dass es sich um Messungen an echtem Engine-Code und nicht um rein synthetische Tests handelte.

Drei Bausteine gegen den Overhead

Die Reduktion des CPU-seitigen Aufwands stuetzt sich auf drei strukturelle Aenderungen gegenueber Direct3D 11. Pipeline State Objects fassen den zuvor verteilt gesetzten Renderzustand in unveraenderliche Objekte zusammen, sodass Hardware und Treiber diese unmittelbar in native Instruktionen uebersetzen koennen, anstatt den Zustand zur Laufzeit fortlaufend neu auszuwerten. Das verlagert teure Validierungsarbeit aus dem zeitkritischen Renderpfad.

Der zweite Baustein ist ein neues Modell zur Arbeitsuebergabe ueber Command Lists und Bundles. Der Treiber kann die noetigen GPU-Kommandos vorab und frei parallelisierbar berechnen, lediglich die abschliessende Einreihung in die Command Queue erfordert eine serielle Bearbeitung. Drittens ersetzt ein Modell aus Descriptor Heaps und Descriptor Tables das schrittweise Binden einzelner Ressourcen-Views an feste Slots, wodurch der Wechsel der Ressourcenbindung zu einer sehr kostenguenstigen Operation wird.

Breite Hardwarebasis und Bedeutung fuer Xbox

Microsoft stellte zum Zeitpunkt der Ankuendigung in Aussicht, dass Direct3D 12 mehr als 80 Prozent der bereits am Markt befindlichen Gaming-Hardware unterstuetzen werde. AMD sagte Treiberunterstuetzung fuer seine Graphics-Core-Next-GPUs zu, Nvidia fuer die Architekturen Fermi, Kepler und Maxwell. Damit war die neue API nicht auf kuenftige Hardware beschraenkt, sondern adressierte den vorhandenen Bestand.

Fuer die Xbox-Plattform liegt die Tragweite in der Naehe zur Hardware. Die hardwarenahe Programmierung von Direct3D 12 entspricht dem Ansatz, mit dem Konsolen ihre feste Hardware ausreizen, und uebertraegt ihn auf den PC. Die auf der GDC 2014 vorgestellte API-Generation bildet so die technische Klammer zwischen Konsole und Windows, die Microsoft in den folgenden Jahren ueber Xbox One und die Series-Modelle hinweg fortgefuehrt hat. Die finale Veroeffentlichung erfolgte am 29. Juli 2015 gemeinsam mit Windows 10.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein