DX12 Performance Discussion And Analysis Thread

How long will nVidia tap dance trying to pretend async performance issues on their GPUs is a driver problem and not a hardware limitation?
 
computerbase have 390X tying with a 980Ti while Fury X is 25% faster.
Even with async compute fiji is not scaling well against Hawaii.

guru3d test with the crazy settings and the results fit.

1000


Still looks like a 25% scaling for Fiji over Hawaii.
 

An interesting anomaly I took note of in the Anandtech piece.

GCN based cards universally gain performance from the move from Dx11 to Dx12. I'd imagine most people wouldn't be surprised by this as AMD's Dx11 driver performance always seemed to leave hardware potential somewhat wasted. Or that Dx11 just couldn't take proper advantage of GCN's hardware strengths.

What is interesting is the Nvidia side.

With GTX 680, it gains performance similar to GCN cards like the 7970. GTX 780 Ti lose performance while GTX 980 Ti basically ties.

What changed between GTX 680 and the more recent cards to make the latter architectures scale significantly worse when it comes to Dx12 async compute and/or multi-core scalability?

Did Nvidia just basically ignore any Dx11 optimizations or driver development for Fermi as soon as Keplar was released? That would fly counter to the claims that Nvidia continue to support older cards better than AMD. Or is there some hardware changes in Keplar and Maxell that make them especially well suited to Dx11 but with nothing that can take advantage of some of Dx12 features while Fermi actually does have hardware that can take proper advantage of some Dx12 features?

Regards,
SB
 
Honestly the DX11 vs 12 numbers are way too close (680 being the potential exception) and there are too many factors to draw many conclusions from, especially without even knowing which of those cases are CPU vs GPU bound.

Certainly over time you expect GPU architecture changes to generally make things less CPU bound on DX11, but conversely with new APIs you expect some small losses in GPU performance, especially for NVIDIA since their DX11 driver did lots of complex things that probably haven't entirely ported over to the new API yet. And remember the numbers on the 11 vs 12 page are async compute *on* - if you compare to the numbers with it off I don't think there are any regressions.

tldr I wouldn't read too much into the NVIDIA DX11 vs 12 performance, especially given how heavily they employ per-application optimizations.
 
Last edited:
The DX12 performance is incredibly nice for AMD. I wonder how much performance now correlates with peak math throughout. It's probably a whole lot closer than what it used to be (with Nvidia somehow being able to do more with less.)

The inescapable counterpoint is that their DX11 driver was almost criminally neglected: 4 years of potential supremacy down the drain because they couldn't figure out how to extract performance out of it. They deserve the market share that they have...

Their hardware guys must be pissed.
 
An interesting anomaly I took note of in the Anandtech piece.

GCN based cards universally gain performance from the move from Dx11 to Dx12. I'd imagine most people wouldn't be surprised by this as AMD's Dx11 driver performance always seemed to leave hardware potential somewhat wasted. Or that Dx11 just couldn't take proper advantage of GCN's hardware strengths.

What is interesting is the Nvidia side.

With GTX 680, it gains performance similar to GCN cards like the 7970. GTX 780 Ti lose performance while GTX 980 Ti basically ties.

What changed between GTX 680 and the more recent cards to make the latter architectures scale significantly worse when it comes to Dx12 async compute and/or multi-core scalability?

Did Nvidia just basically ignore any Dx11 optimizations or driver development for Fermi as soon as Keplar was released? That would fly counter to the claims that Nvidia continue to support older cards better than AMD. Or is there some hardware changes in Keplar and Maxell that make them especially well suited to Dx11 but with nothing that can take advantage of some of Dx12 features while Fermi actually does have hardware that can take proper advantage of some Dx12 features?

Regards,
SB
My working theory there is that on the DX11 side it's a VRAM issue. The GTX 680 was the only 2GB NVIDIA card we tested with DX11. But it's something I'm hoping we can re-check this weekend.

Honestly the DX11 vs 12 numbers are way too close (680 being the potential exception) and there are too many factors to draw many conclusions from, especially without even knowing which of those cases are CPU vs GPU bound.
For DX12, Ashes' internal metrics reports that all of the NVIDIA video cards are almost entirely GPU-bound at 1080p. On the CPU side our testbed can muster over 100fps.
 
Did Nvidia just basically ignore any Dx11 optimizations or driver development for Fermi as soon as Keplar was released? That would fly counter to the claims that Nvidia continue to support older cards better than AMD. Or is there some hardware changes in Keplar and Maxell that make them especially well suited to Dx11 but with nothing that can take advantage of some of Dx12 features while Fermi actually does have hardware that can take proper advantage of some Dx12 features?
Fermi? 680 is still Kepler.
One thing that's still completely open I think is how performant this drivers actually are at the moment.
 
What changed between GTX 680 and the more recent cards to make the latter architectures scale significantly worse when it comes to Dx12 async compute and/or multi-core scalability?

Did Nvidia just basically ignore any Dx11 optimizations or driver development for Fermi as soon as Keplar was released? That would fly counter to the claims that Nvidia continue to support older cards better than AMD. Or is there some hardware changes in Keplar and Maxell that make them especially well suited to Dx11 but with nothing that can take advantage of some of Dx12 features while Fermi actually does have hardware that can take proper advantage of some Dx12 features?

Regards,
SB

680 is Kepler already.
 
Why prematurely release a driver for a BETA release now. Why not blindside AMD with a fully enabled optimized driver on game release.

It doesn't matter what they do in drivers if the hardware can't actually benefit from simultaneous execution. Besides, the whole point of DX12/Mantle/Vulkan is to eliminate the influence of driver limitations and overhead as much as possible.
 
And how do we know from what hardware can benefit? There's not a whole lot of actual information on the topic available. There is however an insane amount of wild speculation and quasi technical explanations and people buying into what ever fits their world view basically. It's not a point of these new APIs to eliminate the influence of driver. It's about eliminating guesswork from driver and making the whole thing more predictable. As Andrew said above: "it's complicated". And I know for a fact that current NV drivers behave differently with regard to mixing Draw/Dispatch then older ones.
 
From what I've seen so far, Nvidia-cards from Maxwell, Kepler and even Fermi-generation can profit marginally from carefully administered Asyn Compute. This margin and the amount of care that has to be taken are way more pronounced and relaxed respectively on AMDs GCN hardware. My working theory is, that the amount of work thrown at the GPU from multiple threads lets some buffers overflow, sometimes leading to adverse/unwanted effects like decreased performance. This is true for GCN cards as well, but the amount of work in order to do that seems stupidly high.

In other words, a workload carefully optimized for one arch might overload the other, which in turn would not really need to have AC turned on in the first place.

Anyone remember "Ice Storm Fighers"? A futuremark-built multithread-demo for Intel processors a decade or so back. You could dial the amount of parallel simulated enemy vehicles and gain performance from multiple cores in almost a linear fashion - until you hit a point where perf would tank. Same principle here. Might have a nice picture lateron.
 
The DX12 performance is incredibly nice for AMD. I wonder how much performance now correlates with peak math throughout. It's probably a whole lot closer than what it used to be (with Nvidia somehow being able to do more with less.)

The inescapable counterpoint is that their DX11 driver was almost criminally neglected: 4 years of potential supremacy down the drain because they couldn't figure out how to extract performance out of it. They deserve the market share that they have...

Their hardware guys must be pissed.

It's not possible that DX12 offers a major benefit in this particular title on AMD Fury/Fury X cards?
 
Back
Top