GDC: DirectX 12 beschleunigt Spiele um 20 Prozent

Microsoft und GPU-Hersteller gingen auf der Game Developers Conference detailliert auf die neuen Performance-Optimierungen ein, die in ersten Spielen einen rund 20-prozentigen Leistungsschub bewirken.

In Pocket speichern vorlesen Druckansicht 143 Kommentare lesen
GDC: DirectX 12 beschleunigt Spiele um 20 Prozent

Dank der Performance-Verbesserungen sollen künftige Windows-Spiele die Rechner-Hardware ebenso effizient nutzen können wie die der Xbox-One-Konsole.

(Bild: c't)

Lesezeit: 3 Min.

Mit der kommenden Version 12 der Programmierschnittstelle DirectX sollen Spiele-Entwickler die Rechner-Hardware wesentlich effizienter ausnutzen können als mit DirectX 11. In mehreren Vorträgen auf der Game Developers Conference in San Francisco gingen Microsoft wie auch die Prozessor-Hersteller AMD, Intel und NVidia auf die zahlreichen Verbesserungen ein. Erste Test zeigten dabei, dass Spiele in der Praxis auf der selben Hardware rund 20 Prozent schneller laufen, wenn sie von DirectX 11 auf DirectX 12 umgestellt werden. Diese Zahl halten auch Entwickler von Crytek für realistisch. Crytek sei gerade dabei, genauere Benchmarks durchzuführen und DirectX 12 für die Cry-Engine zu evaluieren. Daneben unterstützen auch die Unreal Engine 4 und Unity 5 das neue DirectX 12.

Oxide Games kann in "Ashes of the SIngularity" dank DirectX 12 bis zu 40.000 Einheiten auf einem 8-Kern-Prozessor berechnen.

(Bild: Oxide Games / AMD / c't)

Als erste DirectX-12-Demos zeigte Microsoft Umsetzungen des 3D-Rollenspiels "Fable Legends" sowie des Echtzeitstrategiespiels "Ashes of the Singularity" von Oxide Games, in dessen Nitrous-Engine bis zu 40.000 Einheiten (!) gleichzeitig aktiv sind. "DirectX 12 verhält sich zu DirectX 11 wie C++ zu Javascript", erklärte Bennet Sorbo von Microsofts Entwickler-Team. Programmierer kommen wesentlich näher an die Hardware und können Ressourcen besser verteilen, damit GPU und CPU besser ausgelastet werden. Das gilt zum einen für die Zuweisung von Speicherbereichen, die sich unter DirectX 12 sehr viel flexibler zwischen GPU- und Hauptspeicher zuordnen lassen. Die dazu nötigen Kopiervorgänge liefen nun doppelt so schnell ab wie zuvor. Zudem lassen sich die Arbeitslasten einzelner GPU- und CPU-Threads gleichmäßiger verteilen, sodass die Rechenkerne besser ausgelastet und Idle-Zeiten verkürzt werden. Spiele-Programmierer können nun selbst festlegen, in welcher Form sie Threads parallel starten und sind nicht mehr abhängig von einer Treiber-Automatik, auf die sie unter DirectX11 kaum Einfluss hatten.

Die Programmierung von DirectX 12 ist aber offensichtlich nicht trivial, weil sich Entwickler sehr genau mit der Architektur auskennen und Berechnungen weiter parallelisieren müssen, um die Hardware effizient auszunutzen. Nach seinem einstündigen Vortrag fragte denn auch ein NVidia-Entwickler, ob jemand der anwesenden Entwickler alle seine Powerpoint-Folien verstanden habe. Falls ja, würde er ihm sofort einen Job anbieten.

Auf der GPU können unter DirectX 12 Grafik- sowie Compute-Befehle unabhängig und parallel neben Speicher-Kommandos abgearbeitet werden, was die Effizienz und Auslastung erhöht.

(Bild: AMD)

Keiner der GPU-Hersteller hat bislang explizite DirectX-12-GPUs angekündigt. Von den Performance-Gewinnen profitieren bereits vorhandene Hardware-Konfigurationen. Spiele sollen somit die Rechenleistung von Windows-Rechnern ebenso effizient ausnutzen können wie die der Xbox-One-Konsole.

Microsoft will DirectX 12 ausschließlich für das kommende Windows 10 freigeben. Kritische Nachfragen, warum ältere Windows-Versionen nicht bedient würden, begegnete Microsoft mit dem Argument, dass jeder innerhalb des ersten Jahres kostenlos zu Windows 10 upgraden könne. Dadurch will Microsoft einen möglichst schnellen Übergang zu Windows 10 schaffen. Wenn der Plan gelingt, werden sich Spiele-Entwickler sehr viel schneller auf Microsofts neues Betriebssystem konzentrieren und ältere Versionen fallen lassen als bei früheren Systemwechseln.

Entwickler, die ihr Spiel auf DirectX 12 umstellen wollen, finden alle Details und Informationen im SDK des Early-Access-Programms unter http://directx12forum.azurewebsites.net. (hag)