If you’re a usual reader of these pages, you already know all too well how much we’ve talked about Asynchronous Compute in the last twelve months or so. We’ve detailed the potential benefits for AMD cards, which are well suited thanks to the ACE (Asynchronous Compute Engine) built into their GCN architecture, and the potential issues for current NVIDIA cards which don’t have hardware support for Async Compute.
It’s not surprising, then, to find out from Jonas Meyer’s (Lead Render Programmer at IO Interactive) GDC 2016 presentation Advanced Graphics Techniques Tutorial Day: Rendering ‘Hitman’ with DirectX 12 that NVIDIA cards gained no benefit from Async Compute, though IO Interactive claimed to be working with NVIDIA to fix this.
On the other hand, it’s quite surprising to read that even AMD cards merely got a 5-10% performance boost, especially after AMD endorsed HITMAN’s implementation as the best one yet. Async Compute, which has been used for SSAA (Screen Space Anti Aliasing), SSAO (Screen Space Ambient Occlusion) and the calculation of light tiles in HITMAN, was also “super hard” to tune; according to IO Interactive, too much Async work can even make it a penalty, and then there’s also the fact that PC has lots of different configurations that need tuning.
Even in Ashes of the Singularity, which has been the center of the whole DirectX 12 & Async Compute talk for quite a few months, developers have confirmed that Async Compute is a modest performance increase compared to others in their game.
Saying that Multi-Engine (aka Async Compute) is the root of performance increases on Ashes between DX11 to DX12 on AMD is definitely not true. Most of the performance gains in AMDs case are due to CPU driver head reductions. Async is a modest perf increase relative to that. Weirdly, though there is a marketing deal on Ashes with AMD, they never did ask us to use async compute. Since it was part of D3D12, we just decided to give it a whirl.
That definitely shows how, despite an increasing number of developers looking at some kind of Compute implementation for their games, Asynchronous Compute isn’t a magic wand that grants huge performance benefits. There are many other factors to be considered when looking at performance in games and some are definitely more important than Async Compute; moreover, for some types of games it may not necessarily bring noticeable improvements due to the way they’re structured, just like not every game is CPU overhead bound under DirectX 11.
This is also relevant to the ongoing debate surrounding the upcoming GPUs. Yesterday we’ve published a rumor according to which Pascal cards may not feature significantly better support for Async Compute than Maxwell; however, even if that was the case NVIDIA could still very well come on top in the performance charts by having an edge due to the many other factors involved, so keep that in mind.
Source Credit: DualShockers