> > > Crytek: Async Compute ist interessant, aber schwer zu implementieren

Crytek: Async Compute ist interessant, aber schwer zu implementieren

DruckenE-Mail
Erstellt am: von

crytekBei AMD schreibt man sich gerne auf die Fahnen, führend bei der Implementation von DiretX12 in den eigenen GPUs zu sein. Untermauert wird dies durch Leistungswerte in ersten DirectX-12-Umsetzungen wie Ashes of the Singularity. Besonders förderlich soll dabei die Unterstützung der Asynchronous Shaders bzw. Async Compute sein. Die dazugehörigen Benchmarks in Ashes of the Singularity haben dies für AMD belegt. Doch NVIDIA hat aufgeholt und zeigt mit der GeForce GTX 1080 nun ebenfalls ein deutliches Leistungsplus bei der Verwendung der Asynchronous Shaders bzw. Async Compute.

Doch immer wieder gibt es auch kritische Stimmen zur Implementation von Async Compute, nicht aus Gründen der fehlenden Leistung, wohl aber aufgrund der Komplexität. In einem Interview mit DSO Gaming äußerte sich nun Cryteks Technical Director, Rok Erjavec:

"Currently we’re using Asynchronous Compute in VR development, where a technique known as Async-Timewarp/Reprojection is used by VR APIs to reduce latency and offset the negative effect of occasional frame drops. We’re also in the process of evaluating and experimenting with other uses for it. The possibilities are interesting, but at least for the time being, it also introduces non-trivial added complexity in PC space due to lack of standardization and the relative immaturity of the hardware that supports it, where many GPUs come with sometimes problematic restrictions on pre-emption granularity, etc."

Demnach verwende man Async Compute aktuell nur für das Asyncronous Timewarp, also eine Kompensation bei Verwendung einer VR-Brille, die bestimmte Voraussetzungen an die Frametimes stellt. Man experimentiere nur mit weiteren Einsatzgebieten – demnach ist eine reine Leistungssteigerung für Crytek derzeit nicht das vorrangige Thema. Eine Integration sei aber nicht trivial und daher wähle man die zur Verfügung stehenden Ressourcen sehr genau aus. Gerade auf dem PC sei keine einheitliche Implementation möglich, da jede GPU-Architektur einen unterschiedlichen Grad an Integration ermögliche und zusätzlich weitere Restriktionen beim Preemption vorhanden seien.

Auch die Entwickler des aktuellen Hitman äußerten sich in dieser Hinsicht bereits kritisch – Async Compute sei "super hard to tune." Grundsätzlich zum Thema DirectX 12 befragt sagte Rok Erjavec:

"As with every new technology stack, there’s a learning curve that we’re currently seeing and working through. DX10-11 pipelines have had the benefit of multiple years of focused driver optimization and work-arounds specific to their workflow, and the paradigm shift that comes with DX12 effectively erases some of the benefits of this legacy.

In conjunction with the fact that the early DX12 titles have effectively been ports of DX11-optimized assets and codebases, we are not yet seeing software that really targets DX12 strengths, and in some ways, teams have to specifically re-learn how to fix things that used to be the responsibility of driver development teams in DX11. The situation will continue to improve throughout 2016, and as more titles shift toward targeting low-level APIs from the start of development, the differences and benefits will become more obvious."

Seitens der Entwickler ist der Optimismus für DirectX 12 also zunächst einmal schwer zur rechtfertigen. Die Entwicklung müsse beständig über die kommenden Monate weitergeführt werden und erst danach könne man sich ein Bild von der kompletten Situation machen. Alle aktuell durchgeführten Anstrengungen seien allenfalls als Bestandteil einer Lernkurve zu sehen.

Im Rahmen unserer Benchmarks wird DirectX 12 allerdings ein wichtiger Bestandteil der Tests werden bzw. ist dies Bereits. Der Test der GeForce GTX 1080 hat gezeigt, dass nun auch NVIDIA an den richtigen Stellschrauben dreht. Bleibt nur noch die Umsetzung seitens der Spiele, die über die Zeit aber sicherlich erfolgen wird.