Microsoft: DX12 ist fertig und schafft Arbeit für integrierte GPUs
Die Entwicklung an DirectX-12 und damit auch Direct3D-12 ist abgeschlossen. Für Entwickler heißt das, dass sie nun mit einer finalen Version arbeiten können. Microsoft nannte zwei Entwicklungsbeispiele, nach denen sich dies lohnt.

Die 3D-API des kommenden DirectX-12 ist fertig. Laut Microsoft müssen die Entwickler nun nicht mehr mit Neuerungen rechnen. Nicht alle Anwender werden DirectX-12 nutzen können, denn das Upgrade auf Windows 10 ist Pflicht, um die Vorteile insbesondere von Direct3D zu nutzen. Entwickler sollten zudem auf Microsoft-Tools setzen, die bereits Direct3D-Optimierungen für die Version 12 beinhalten. Dazu gehört etwa Visual Studio 2015, dessen Grafikdiagnose-Komponente aktualisiert wurde.
Laut Microsoft sind aktuell mehr Studios dabei, sich schnell umzustellen, als seinerzeit zu Direct3D-9-Zeiten. Microsoft belegte die Vorteile von Direct3D-12 mit zwei Beispielen von unterschiedlichen Entwicklungsteams, die sich die Arbeit machten, ihre Engine auf die neue Direct3D-Version zu portieren.
Snail Games, eines der größten Entwicklungshäuser Chinas, brauchte laut Microsoft mit zwei Entwicklern nur sechs Wochen, um erste positive Resultate zu erzielen. Die Bildrate von King of Wushu stieg im Vergleich zur alten Direct3D-11-Engine um rund zehn Prozent. Dabei ist die Entwicklung noch nicht abgeschlossen. Erst im vierten Quartal 2015 soll das Spiel als DirectX-12-Variante erscheinen. Die Auslastung der GPU stieg um rund zehn Punkte auf eine nahezu vollständige Auslastung. Zudem gab es Situationen, in denen Snail Games mehr Gegner darstellen und trotzdem von der höheren Framerate profitieren konnte. Das Beispiel zeigte rund 50 Prozent mehr Gegner, war allerdings nur ein Video.
Die interne GPU bekommt mit Unreal Engine 4 Arbeit
Snail Games nutzt dabei noch nicht alle Funktionen, die Direct3D bietet. Die Explicit-Multi-GPU-Funktion etwa haben die Entwickler der Unreal Engine bereits umgesetzt. Im Unterschied zum weit verbreiteten Implicit-GPU-Rendering, also etwa der Nutzung von SLI oder Crossfire, kann Explicit-Multi-GPU unterschiedliche GPUs in Direct3D für denselben Frame nutzbar machen. Das typische Szenario ist dabei eine Mid- bis High-End-Grafikkarte, die zusammen mit der integrierten Grafik des Systems arbeitet. Normalerweise liegt die integrierte GPU weitestgehend brach. In vielen Büro-Desktop-Systemen wird sie sogar abgeschaltet und steht nicht einmal für den Multi-Monitor-Betrieb zur Verfügung.
Mit Direct3D-12 wird Microsoft dieses ungenutzte oder wenig genutzte Silizium in vielen Systemen breit verfügbar machen. Erste Ergebnisse, die Microsoft leider nur als Video demonstrierte, zeigen bereits, dass es sich lohnt. Verglichen mit der Multi-Adapter-Lösung (39,7 fps bei 635 Frames) schafft dieselbe Haupt-GPU alleine nur 35,9 fps. Details zum Setup nannte Microsoft nicht, sprach aber von einem System aus einer High-End-Grafikkarte von Nvidia und einer Intel-GPU.
Microsoft verteilt dabei die Arbeit an einem Frame auf beide GPUs. Das allerdings nicht gleichberechtigt. Es ist jedoch Sache des Entwicklers, sich für den richtigen Weg zu entscheiden. Für Microsoft bietet sich beispielsweise die Nutzung der internen GPU für spätere Arbeiten (Postprocessing) an einem Frame an. Das sorgt allerdings für kurze Latenzen, denn die Daten müssen von der Haupt-GPU erst einmal zur Zweit-GPU. Doch sobald diese Daten ausgelagert wurden, kann sich die Haupt-GPU bereits um den nächsten Frame kümmern.
Postprocessing hat den Vorteil, dass sich im Frame selbst nicht mehr viel ändert und die Bandbreite am Speicherbus nicht stark belastet wird. Das Geschehen steht fest, während die Haupt-GPU das Bild noch rendert, wenn der Spieler Entscheidungen trifft. Laut Microsoft wäre eine komplette Aufteilung des Frames prinzipiell besser, da die Latenz durch den Transfer wegfallen würde. Es bietet sich wegen der hohen Geschwindigkeit der Haupt-GPU und dem Geschehen in Spielen jedoch nicht an. Die Kunst bei der Nutzung der internen GPU ist das Finden des richtigen Moments, um die Leistung dieser schwachen Grafikeinheit gut auszunutzen.
Dass Microsoft diese Funktionen bietet, heißt aber noch nicht, dass auch alle Entwickler sie in diesem Rahmen nutzen. Gerade Multi-GPU-Rendering wird nicht im Fokus der Spiele-Entwickler stehen, die als Zielgruppe weniger anspruchsvolle Spieler haben. Um Direct3D komplett nutzen zu können, fehlen aber noch einige Schritte: Windows 10 muss auf den Markt kommen - ein Datum steht weiterhin nicht fest - und die Entwickler-Dokumentation muss abgeschlossen werden. Letzteres soll in den nächsten Wochen passieren.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Ich finde auch immer wieder witzig, wenn OpenGL immer mit Open Source gleichgesetzt wird...
AMD, hat bei den APIs, die der Treiber anbietet, keinerlei Mitspracherecht.
Eingestellt? Bullshit. Mantle gibt es immer noch. Heißt bloß jetzt Vulkan, und wird von...
Bei manchen Kommentaren hier schaudert es mich. Leute sind gegen MS aber dafür, dass es...