It all started with Ashes of The Singularity, the first game that can be functionally used as a DirectX 12 Benchmark. It demonstrated that with DirectX 12 enabled, AMD’s GPU’s stand to gain far more than Nvidia’s counterparts. In fact, enabling the newer API often lowers performance on Nvidia’s cards.
From there it’s ended up becoming a he-said she said mud-slinging match between the two corporations, but the developers of the engine powering Ashes of the Singularity, Oxide Games, has revealed a little more – and it doesn’t look good for Nvidia. Apparently Nvidia’s newest cards, including their top of the line flagships, aren’t capable of Asynchronous Compute, one of the more important features enabled by the new low-level API.
Speaking in a response on overclockers.net, Oxide Games has said that Nvidia’s cards don’t support the feature at all.
“Maxwell doesn’t support Async Compute, at least not natively, “ says the Oxide representative, posting as Kollock. “We disabled it at the request of Nvidia, as it was much slower to try to use it then to not.”
He said that Nvidia’s driver reported that the feature was enabled, but using it proved otherwise.
“Curiously, their driver reported this feature was functional but attempting to use it was an unmitigated disaster in terms of performance and conformance so we shut it down on their hardware. As far as I know, Maxwell doesn’t really have Async Compute so I don’t know why their driver was trying to expose that.”
As you know, AMD’s cards benefit from the use of asynchronous compute in the Ashes benchmark – and it’s something that will likely be used more in the future.
“I suspect that one thing that is helping AMD on GPU performance is D3D12 exposes Async Compute, which D3D11 did not. Ashes uses a modest amount of it, which gave us a noticeable perf improvement. It was mostly opportunistic where we just took a few compute tasks we were already doing and made them asynchronous, Ashes really isn’t a poster-child for advanced GCN features.
Our use of Async Compute, however, pales with comparisons to some of the things which the console guys are starting to do. Most of those haven’t made their way to the PC yet, but I’ve heard of developers getting 30% GPU performance by using Async Compute.”
AMD’s thrown in a word or two as well. Speaking on Reddit, AMD’s Robert Hallock has said that Nvidia has essentially lied about Maxwell’s Direct X12 capabilities.
“NVIDIA claims “full support” for DX12, but conveniently ignores that Maxwell is utterly incapable of performing asynchronous compute without heavy reliance on slow context switching.
GCN has supported async shading since its inception, and it did so because we hoped and expected that gaming would lean into these workloads heavily. Mantle, Vulkan and DX12 all do. The consoles do (with gusto). PC games are chock full of compute-driven effects.”
In effect, NVidia’s newest cards aren’t as DX12 compliant as they’d like people to believe. AMD admits that even its Fury X isn’t “fully” Dx12 compliant – because no such card exists right now.
“I think gamers are learning an important lesson: there’s no such thing as “full support” for DX12 on the market today.
There have been many attempts to distract people from this truth through campaigns that deliberately conflate feature levels, individual untiered features and the definition of “support.” This has been confusing, and caused so much unnecessary heartache and rumor-mongering.
Here is the unvarnished truth: Every graphics architecture has unique features, and no one architecture has them all. Some of those unique features are more powerful than others.
Yes, we’re extremely pleased that people are finally beginning to see the game of chess we’ve been playing with the interrelationship of GCN, Mantle, DX12, Vulkan and LiquidVR.”
Nvidia’s staying quiet on this issue at the moment, but it’s starting to look like AMD’s cards may be better suited for future proofing than Nvidia’s right now. That is, of course, dependent on just how much developers will transition to DirectX 12 in the short term, and how much they’ll utilise Asynch compute.
Last Updated: September 1, 2015