Ashes of the Singularity: Leistungsexplosion durch DirectX 12
Nicht ganz das erste DirectX-12-Spiel
Ashes of the Singularity ist das erste Spiel, das offiziell DirectX 12 unterstützt und als Early-Access-Titel auch bereits spielbar ist. Für den Titel zum ersten finalen DirectX-12-Spiel reicht es jedoch nicht, denn die Position hat sich Hitman gesichert, das am 11. März erscheinen wird. Ashes of the Singularity folgt schon wenige Tage später am 22. März.
Neuer Benchmark auf Basis der finalen Engine
Technisch ist das Spiel laut Entwickler Oxide bereits jetzt nahezu final – es soll nur noch kleine Updates geben. Noch an diesem Abend sollen Spieler den letzten Stand erhalten. ComputerBase hatte wiederum bereits einige Tage lang Zeit, ausführliche Benchmarks auf Basis dieser Version zu erstellen: Mit neuer Technik, verbesserter DirectX-12-Engine und einer neuen Testsequenz.
21 Grafikkarten und sieben CPUs im Vergleich
ComputerBase hat umfassende Tests mit zahlreichen Grafikkarten und sieben verschiedenen CPUs von AMD und Intel vorgenommen. Es gibt einen Geschwindigkeitsvergleich des DirectX-12-Features Asynchronous Compute sowie einen Blick auf die Frametimes und die exotische Multi-GPU-Konstellation mit einer AMD- sowie einer Nvidia-Grafikkarte. Die Ergebnisse stellen alte DirectX-12-Benchmarks von Ashes of the Singularity, deutlich in den Schatten.
Nicht unerwähnt bleiben sollte, dass Ashes of the Singularity an AMDs Gaming-Evolved-Programm teilnimmt, dem Gegenstück zu Nvidia The Way It's Meant to be Played.
Die Engine kann jetzt viel mehr DirectX 12
Laut Oxide hat es bei der hauseigenen Nitrous-Engine in den letzten Monaten große Fortschritte bei der DirectX-12-Implementierung gegeben. Alle sind in den neuen Benchmark 2 eingeflossen und kommen noch heute Abend Spielern der Early-Access-Version zu Gute.
Die Änderungen gegenüber der älteren Beta-Version sollen sich auf eine bessere Nutzung von Asynchronous Compute, die Unterstützung von Explicit Multi-GPU, neue Grafikeffekte und generelle Performanceoptimierungen beziehen. Letztere gelten nicht nur für DirectX 12, sondern auch für DirectX 11. Auch unter der alten API soll das Spiel damit in der Lage sein, mehr Objekte bei gleicher Leistung auf dem Bildschirm zu zeichnen als die Konkurrenz. Darüber hinaus gibt es eine neue Testsequenz, die das „Late Game“ des Spiels simulieren soll und fordernder für die Hardware ist.
Asynchronous Compute für paralleles Rendern und Rechnen
Eines der am häufigsten genannten, aber auch kontrovers diskutierten Themen rund um DirectX 12 ist das Asynchronous Compute. Die Funktion ermöglicht es, dass die GPU besser ausgelastet wird und so weniger „Luftblasen“ in der Renderingpipeline des Grafikkerns vorhanden sind. Vor allem bei 3D-Beschleunigern mit vielen Shadereinheiten kann dies von Nutzen sein. Der Trick: Der Entwickler kann in DirectX 12 voneinander unabhängige Befehle für eine Rendering- und eine Compute-Pipeline schreiben. Kann die GPU mit Asynchronous Compute umgehen, können diese unabhängigen Befehle effektiver auf die Einheiten verteilt werden, sodass die Luftblasen minimiert werden können. Arbeiten die Shadereinheiten gerade an einem Renderbefehl, wobei einige ALUs ungenutzt bleiben und noch Platz für einen eigentlich erst später anstehenden Compute-Befehl vorhanden ist? Mit Async Compute kann die Ausführung vorgezogen werden, um die Auslastung der GPU zu maximieren.
Während AMD Asynchronous Compute bei allen Grafikkarten mit der GCN-Architektur – wenn auch unterschiedlich effizient – seit dem Jahr 2011 durch die bisher kaum genutzten ACE-Einheiten unterstützt, ist die Situation bei Nvidia noch immer nicht gänzlich geklärt. Denn auch wenn der GeForce-Treiber mit Async Compute umgehen und mit den entsprechenden Befehlen etwas anfangen kann, schwebt über der Hardwareunterstützung ein Fragezeichen. Allen bisher gemachten Erfahrungen nach und laut Aussagen von verschiedenen Entwicklern unterstützen sowohl Kepler als auch Maxwell kein Async Compute auf Hardwarebasis. Nvidia selbst will sich zu dem Thema derzeit nicht äußern – auch auf eine erneute Anfrage seitens ComputerBase nicht.
Auch die ältere Beta-Version von Ashes of the Singularity unterstützte bereits Async Compute, hat davon laut Oxide aber kaum Gebrauch gemacht. Mittlerweile ist das der Fall und an- und abschalten lässt sich die Funktion auch: Perfekt für einen ersten Geschwindigkeitsvergleich.
Grafikkarten von AMD und Nvidia rechnen Hand in Hand
Als Low-Level-API erlaubt DirectX 12 eine direkte Steuerung der Hardware, was auch bei der Umsetzung von Multi-GPU-Systemen Änderungen mit sich bringt. Deren Implementierung wird zwar nicht leichter, optional können Entwickler aber auch Grafikkarten verschiedener Bauart und sogar Hersteller miteinander rendern lassen. Oxide hat diese Funktion namens „Multiple Display Adapter“ in der neuesten Version umgesetzt. Es funktioniert, wie die Tests zeigen, sogar erstaunlich gut. Wie in allen DirectX-11-Spielen kommt dabei weiterhin Alternate Frame Rendering zum Einsatz.
Mehr Stabilität und neue Effekte
Neben der besseren DirectX-12-Implementierung sowie dem Multi-GPU-Modus gibt es weitere Verbesserungen. So läuft Ashes of the Singularity nun deutlich stabiler als in der zuletzt genutzten Betaversion. Die Grafik hat zudem einen Schritt nach vorne gemacht, einige hässliche Grafikeffekte wurden durch deutlich hübschere ersetzt. Seine optische Faszination erhält das Strategiespiel weiterhin durch die zahlreichen gleichzeitig sichtbaren Einheiten auf dem Bildschirm, die wiederum diverse Waffeneffekte erzeugen – eine Stärke von DirectX 12, das deutlich mehr Zeichenaufrufe (Draw Calls) erlaubt als DirectX 11. Es ist somit extrem viel los auf dem Bildschirm. Intensiviert wird dies auch durch den sehr farbenfrohen Grafikstil.
Auch die Testsequenz ist neu
Auch der integrierte Benchmark hat eine Änderung erfahren. Er simuliert immer noch sämtliche Spielkomponenten inklusive KI, Wegfindung und Physik bis hin zum Sound. Neu ist jedoch die Umgebung, aus grünen Wiesen wurde schneebedeckte Landschaft. Neben Szenen mit vielen Einheiten gibt es darüber hinaus auch welche mit weniger Gewusel: Benchmarks mit wenigen und mit vielen Draw Calls sind nun wie bereits erwähnt möglich.