Werbung
Wie angekündigt hat Microsoft auf der derzeit stattfindenden GDC in San Francisco seine kommende Grafikkarten-API DirectX 12 präsentiert. Die zwei wichtigsten Fakten vielleicht gleich zu Beginn: Zum Weihnachtsgeschäft 2015 sollen die ersten Spiele erscheinen und aktuelle Hardware die DirectX 11 versteht, kommt auch mit DirectX 12 zurecht.
Dabei sind die Ansätze sehr ähnlich zu AMDs Mantle-API. Statt großartiger neuer Effekte und Features steht zunächst einmal die Effizienz der Kommunikation zwischen Hard- und Software im Vordergrund. DirectX 12 soll die CPU entlasten, denn auch zukünftig sieht man bei Microsoft einen klaren Trend zu immer stärkeren GPUs, während die Leistung der Prozessoren nicht in diesem Maße wächst. Eine weitere Ähnlichkeit zwischen Mantle und DirectX 12 ist sicherlich die Tatsache, dass Microsoft die Zusammenarbeit zwischen den Plattformen weiter verbessern will. So wird DirectX 12 für Windows, die Xbox One und Windows Phone erscheinen. AMD sieht mit Mantle ebenfalls den Vorteil, dass man mit der eigenen Hardware nicht nur auf den PCs vertreten ist, sondern auch auf allen aktuellen Konsolen, wenngleich diese bereits eine Low-Level-API einsetzen, auch wenn diese nicht Mantle oder DirectX heißt. DirectX 12 könnte sich im Unterschied zur Playstation 4 aber zu einem klaren Vorteil entwickeln, schließlich werden beiden Konsolen noch einige Jahre auf dem Markt sein - ein Performance-Plus abgesehen von der ohnehin über die Zeit immer besser werdenden Nutzung der Hardware wird also sicherlich gerne angenommen.
[figure image=images/stories/newsbilder/aschilling/2014/directx12-comp-1-rs.jpg link=images/stories/newsbilder/aschilling/2014/directx12-comp-1.jpg alt=Visualisierung der besser Ausnutzung der CPU]Visualisierung der besser Ausnutzung der CPU[/figure]
Am deutlichsten drückt sich der Zugriff auf einer tieferen Ebene des Systems in folgenden zwei Punkten aus:
Erstens haben die Entwickler direkteren Zugriff auf die Ausnutzung der Hardware und können ihre Software dahingehend optimieren. Dies reduziert nicht nur die Last auf dem Prozessor, sondern verkürzt auch die Rechenzeiten und Latenzen. Zudem nutzt DirectX 12 die vorhandenen CPU-Kerne besser - teilt die anfallenden Berechnungen und Aufgaben gleichmäßiger auf die Kerne auf.
Zweitens gewährt DirectX 12 den Entwicklern einen besseren Zugang zum Speicher der Grafikkarte. Wie schon bei Mantle heißt dies aber auch, dass die Entwickler besser darauf achten müssen, wie sie den Speicher nutzen, damit dieser nicht vollläuft oder andere Seiteneffekte für eine Reduzierung der Performance sorgen. Einerseits gibt Microsoft also gewisse Vorgaben die Fehler verhindern konnten ab, auf der anderen Seiten profitiert davon natürlich die Effizienz, denn ein guter Entwickler weiß, wie er den Speicher am besten nutzt.
[figure image=images/stories/newsbilder/aschilling/2014/directx12-comp-2-rs.jpg link=images/stories/newsbilder/aschilling/2014/directx12-comp-2.jpg alt=CPU-Time-Vergleich zwischen DirectX 11 und DirectX 12]CPU-Time-Vergleich zwischen DirectX 11 und DirectX 12[/figure]
Die geringere CPU-Last soll auch dazu führen, dass die Akkulaufzeit von mobilen Geräten erhöht wird. Konkrete Zahlen zu diesem Thema gibt es aber ebenso wenig, wie Vergleiche zwischen DirectX-11- und DirectX-12-Versionen, wie man sie auf der GDC präsentierte. Darunter waren auch angepasste Versionen des 3DMark von Futuremark und Forza Motorsport 5 auf der Xbox One. Dabei hält sich der Programmieraufwand zur Portierung auf DirectX 12 laut Microsoft in Grenzen. Forza Motorsport 5 soll innerhalb von vier Monaten von einer Person umgeschrieben worden sein. Mit mehreren Programmierern wäre diese Arbeit also in Wochen oder wenigen Tagen zu erledigen. Allerdings wurde gleiches auch schon von AMDs Mantle-API versprochen und dennoch kam es bei den bisher erschienen Titeln Battlefield 4 und Thief zu Verzögerungen. Ob diese nun der Portierung von Mantle zuzuschreiben sind, ist allerdings nicht bekannt.
Laut Microsoft setzt DirectX 12 keine neue Hardware voraus. Bisher haben sich nur Intel und NVIDIA zu diesem Thema geäußert. So ist laut NVIDIA jede Karte mit "Fermi"-, "Kepler"- oder "Maxwell"-Architektur zur DirectX 12 kompatibel. Bei Intel sollen es alle, dass alle "Haswell"-Prozessoren in der Lage seien DirectX 12 zu verstehen. Hier dürfte sich bis zum Erscheinen des ersten Titels zum Weihnachtsgeschäft 2015 aber noch einige Unklarheiten aus dem Wege schaffen lassen. Zudem war diese Vorstellung sicherlich nur der erste Schritt und Microsoft wird uns über die kommenden Monate weiter mit Informationen versorgen.
Update:
Nachdem sich NVIDIA und Intel bereits zu den Kompatibilitäten ihrer aktuellen Hardware zu DirectX 12 geäußert haben, tat dies nun auch AMD. Demzufolge werden alle Grafikkarten mit "GCN"-Architektur, also alle Grafikkarten ab der Radeon-HD-7000-Serie und auch die "Kaveri"-APUs zur neuen Grafik-API kompatibel sein. Auch wenn die Karten der Radeon-HD-5000 und Radeon-HD-6000-Serie bereits DirectX 11 unterstützen, werden sie nicht auch mit DirectX 12 zurecht kommen.