Original-URL des Artikels: https://www.golem.de/news/directx-12-im-detail-kampf-dem-overhead-1403-105291.html    Veröffentlicht: 21.03.2014 09:14    Kurz-URL: https://glm.io/105291

DirectX-12 im Detail

Kampf dem Overhead

Es soll schlanker und schneller sein, vor allem aber vom PC über die Xbox One und Windows Phone hinweg skalieren: Microsoft hat technische Details von DirectX-12 vorgestellt, die stark an AMDs Mantle-Schnittstelle erinnern.

Seit 2009 gibt es DirectX-11. Seitdem hat sich viel verändert in der Welt der Computergrafik, und vor allem: Es wird sich noch viel mehr ändern. "Die Leistungsfähigkeit von GPUs wird weiter rasant wachsen, während die Performance eines einzelnen CPU-Kerns bestenfalls langsam zunimmt und die Zahl der Kerne nicht mehr stark steigen wird", erwartet Anuj Gosalia, der bei Microsoft im DirectX-Team arbeitet. DirectX ist darauf momentan nicht eingestellt - und genau das soll sich mit Version 12 ändern, die Microsoft auf der GDC 2014 in San Francisco erstmals vorgestellt hat.

Ende 2015 sollen die ersten Spiele erscheinen, die auf der neuen Version der Schnittstelle basieren. Microsoft rechnet damit, dass dann 100 Prozent der neuen GPUs DirectX-12 unterstützen, sowie 80 Prozent der neuen Gamer-PCs und 50 Prozent aller PC-Spiele. Eine Preview-Version von DirectX-12 soll es in den kommenden Monaten geben, ein Early-Access-Programm für Entwickler ist geplant, Informationen dazu gibt es noch nicht.

Für welche Windows-Versionen die Schnittstelle erscheint, hat Microsoft noch nicht bekanntgegeben - es ist sogar recht wahrscheinlich, dass die Entscheidung tatsächlich erst später fällt. Klar ist aber, dass DirectX-12 auch auf der Xbox One und Windows Phone laufen wird.

Das eröffnet neue Möglichkeiten bei der Portierung von Spielen. Chris Tector von dem Microsoft-eigenen Entwicklerstudio Turn 10 hat eine in vier Monaten programmierte Umsetzung des ursprünglich für die Xbox One programmierten Rennspiels Forza 5 Motorsport auf einem PC gezeigt, das dort angeblich mit 60 Bildern pro Sekunde auf einer Titan Black gelaufen ist.

Noch deutlich freundlichere Worte für die kommenden Portierungsmöglichkeiten hat Eric Demers gefunden, Vice President Engineering beim Chip-Hersteller Qualcomm: Wenn durch die Optimierungen von DirectX auch nur ein paar "Milliwatt gespart werden, die den Akku von mobilen Geräten entlasten, ist das Musik in meinen Ohren" - weil es für die Kunden schlicht bedeutet, ihre mobilen Endgeräte länger verwenden zu können. Demers rechnet fest mit mehr Umsetzungen von Konsole und PC für Smartphones und Tablets.

Shader-Pipelines neu programmiert

Auf der Präsentation hat Microsoft unter anderem anhand von 3DMark demonstriert, dass die neue Version von Direct3D wesentlich bessere Unterstützung von CPUs mit mehreren Kernen mitbringt, die anders als mit der aktuellen Ausgabe der Schnittstelle fast gleichmäßig ausgelastet wurden. Die auch im offiziellen Developer Blog veröffentlichten Ergebnisse zeigen, dass unter DirectX-12 der Hauptkern zwar etwas stärker ausgelastet wird, aber eben nur ein wenig mehr als die anderen Kerne - bei DirectX-11 ist das noch ganz anders.

Aber auch den Overhead bei der Grafikberechnung wollen die Entwickler von Microsoft spürbar senken. Das mit Abstand größte Potenzial für Optimierungen sieht Max Mullen, Direct3D Development Lead, bei den Shader-Pipelines. Direct3D-11 berechnet vergleichsweise viele kleine Objekte, was zu einem hohen Aufwand an Sortierarbeit für die Hardware führt - also bei den Vertex Shadern, dem Rasterizer, den Pixel Shadern und dem Blend State.

Der Treiber muss also einen vergleichsweise großen Aufwand betreiben, um das alles korrekt zu sortieren und dabei auch noch das Timing beachten. Bei Direct3D in DirectX-12 soll es ein Pipeline State Object für alle Shader Changes geben, und das wird dann von Direct3D an die Hardware geschickt - so, wie das die meisten modernen Engines schon länger machen.

Viel Potenzial sieht Max Mullen außerdem darin, dass Anwendungen künftig zum einen klarer kommunizieren können, wie viel Speicher sie auf der GPU benötigen, zum anderen aber auch an Middleware melden können, welche Ressourcen sie benötigen, was dann insgesamt eine bessere Integration des Gesamtsystems erlauben soll.

Deutlich optieren will das DirectX-Team auch die Bundles, also das mehrfache Verwenden von gleichen Render-Befehlen an die GPU. Die soll trotzdem künftig deutlich mehr Spielraum erhalten bei den Entscheidungen, welche Ressourcen sie berechnet, ohne dass sich die CPU künftig sonderlich stark um diese Entscheidung kümmern muss.

Neben Qualcomm und Turn 10 haben sich noch weitere Partner von Microsoft zu den Plänen geäußert. Raja Koduri von AMD begrüßt die neue Schnittstelle und sieht sie als Herausforderung für das von AMD programmierte Mantle. In die Entwicklung von DirectX-12 sei man eng eingebunden: "Jeder Pixel, der über DirectX gerendert wird, wird von AMD stark mit beeinflusst". Kein Wunder, schließlich ist AMD-Technologie zentraler Bestandteil auch der Xbox One.

Eric Mentzer von Intel freut sich verständlicherweise darüber, dass sich DirectX-12 verstärkt um Mehrkernprozessoren kümmern soll - schließlich stellt Intel die her, ab der Haswell-Generation wird die neue Schnittstelle unterstützt. Nvidia hat sich ebenfalls lobend geäußert und gesagt, dass man eng in die Entwicklung eingebunden ist. Fermi-, Kepler- und Maxwell-Chips (also Geforce GTX 400) sollen unterstützt werden. Der breite Support ergibt strategisch Sinn: Spiele, die DirectX verwenden, gehen schließlich nicht mit Mantle vom Erzkonkurrenten AMD fremd. Dessen Grafikkarten müssen auf der GCN-Architektur basieren, um DirectX-12 zu unterstützen.  (ps)


Verwandte Artikel:
Radeon Software: AMD-Grafiktreiber spielt jetzt wieder Alarmstufe Rot   
(19.01.2018, https://glm.io/132258 )
Microsoft: DirectX-12 kommt Ende 2015   
(20.03.2014, https://glm.io/105283 )
Project Morpheus ausprobiert: Abstecher auf den (fast echten) Mars   
(21.03.2014, https://glm.io/105288 )
Valve: Quellcode zu ToGL freigegeben   
(11.03.2014, https://glm.io/105069 )
Always Connected PCs: Vielversprechender Windows-RT-Nachfolger mit Fragezeichen   
(09.03.2018, https://glm.io/133094 )

© 1997–2019 Golem.de, https://www.golem.de/