Crytek Voices Concerns over Async Compute
Ashley Allen / 4 years ago
With the advent of DirectX 12, both GPU and game developers are slowly learning how to fully exploit the new API, with most – NVIDIA especially – running into problems when trying to implement asynchronous compute. It seems Crytek, developer of the graphical high-water mark CRYENGINE, is also struggling with async compute, claiming that its implementation “introduces non-trivial added complexity” to PC development.
“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,” Rok Erjavec, Technical Director at Crytek, told Dark Side of Gaming. “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.”
In regards to DirectX 12, and the dearth of games exploiting the API thus far, Erjavec added, “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,” he said. “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.”
It appears that, in order to see the best from DX12 and async compute, we will have to be patient.