Graphic Cards Directx 12: Radeon outperforms NVIDIA significantly in benchmarks

Status
Not open for further replies.

evilsamurai

Beginner
This is my first post on this forum, here it goes:

Since many of us prefer Nvidia cards over AMDs, we often overlook what the competition has to offer. AMD's Mantle proved to be a base for Microsoft's latest version of DirectX ie 12. I won't elaborate on Mantle here, if any one wants more info check this link from Techradar.

With Mantle AMD introduced asynchronous computing. What is this? Here's an explanation of it from a redditor:

2 Cars are on the road, let's call them Car 1 (Compute) and Car 2 (Graphics). Both cars are trying to go from A - > B.

The time it takes for Car 1 to travel the journey is 1 hour. The time it takes for Car 2 to travel the journey is 2 hours.

The question is, how long does it take for both Cars to reach destination B?

1. Both Cars can travel on the road together, simultaneously, starting at the same time: 2 hours.
2. Only ONE Car can be on the road at once, so Car 1 goes first (order doesn't matter), finishes, then Car 2 starts. Thus, both Cars reach their destination in: 3 hours.

Minor variations aside, that should be the expected behavior, correct? #1 would therefore be Async Mode, and #2 is not.

Now we heard of this new Directx 12 supported game coming up called Ashes of the Singularity developed by Oxide. The developers have benchmarked GPUs from both NVIDIA and AMD. They were shocked to discover that while AMD cards showed significant performance improvements, NVIDIA cards didn't, and in some cases resulted in degrading performance.

The devs narrowed it down to async compute being available on AMD cards natively (ie it is supported by the hardware). NVIDIA cards do support async compute but they emulate it via software. AMD claims that async compute was available on all AMD cards since the days of Mantle, and now that DX12 supports async compute, their cards are reaping the benefits.

Worse, AMD’s Robert Hallock has stated that no cards currently in the market have full for DirectX 12 support. Thus when Nvidia launched its 900 series (Maxwell) saying that it has DX12 support, it was not entirely correct. They conveniently ignored to mention their cards emulate a key feature of DX12.

Here are some links which might explain things better:

NV GPUs do not support DX12 Asynchronous Compute/Shaders. Official sources included.
Maxwell *DOES* support Async Compute, but with a caveat, read for more info.
AMD: “There’s no such thing as full support for DX12 today”, Fury X missing DX12 features as Well
Exclusive: The Nvidia and AMD DirectX 12 Editorial – Complete DX12 Graphic Card List with Specifications, Asynchronous Shaders and Hardware Features Explained

[UPDATE]:
Just found this :
Nvidia Actively Working To Implement DirectX 12 Async Compute With Oxide Games - Might have the hardware capability after all.

 
Last edited by a moderator:
Buying an AMD usually pays off in the long run.
I would be cautious about buying a GTX 900 series card due to this, though I would wait for more DX12 benchmarks to confirm what we've learned from Ashes of the Singularity.
 
Buying an AMD usually pays off in the long run.
I would be cautious about buying a GTX 900 series card due to this, though I would wait for more DX12 benchmarks to confirm what we've learned from Ashes of the Singularity.
My point exactly. Ashes is just one game and it is still too early to judge. The game itself is still in development so there will be more optimisations from the devs as well as Nv, AMD, Intel etc. Mind you that the Oxide developer who initially stated that Nv doesn't support async is the same one who changed his views later saying that they are working with Nv on this issue for Maxwell based cards. This is quite confusing and unless Nv makes a statement, nothing is absolutely clear.

That said, AMD cards in the market today don't support DX12.1 natively just like Nvidia's Fermi, Kepler architecture cards whereas Maxwell cards do.
 
Last edited:
its happening! at least I could use 980 Ti level performance from my R9 290X

lol.....srsly ?? By the time DX 12 becomes mainstream both Nvidia & AMD will have the supported GPU in the market with AMD being the underdog as always. :p

PS: i owned HD6850/HD7870 and never owned Nvidia cards.
 
lol.....srsly ?? By the time DX 12 becomes mainstream both Nvidia & AMD will have the supported GPU in the market with AMD being the underdog as always. :p

PS: i owned HD6850/HD7870 and never owned Nvidia cards.

Actually adoption for DX12 is pretty fast. The Xbox One already supports many features and a few titles releasing this year on PC are supporting it as well. You'll see a lot of cross platform titles adopting features like async compute.

If you're buying a high end card like 980ti and you hope to keep it for the next 2-3 years then this is definitely something to watch out for. Nvidia will probably do some fixes to their driver to improve the performance, but they seem to be along the lines of software optimizations. There is clear architectural disadvantage with Maxwell which they can't fix.

Considering what we know now it does seem like AMD's hardware is better suited to DX12 and VR, it's possible AMD they will catch up or even have the upper hand. On the other hand let's not underestimate Nvidia, let's see what they can do with their fixes.
 
well it's about time ONE of amd's plans worked :D

imo dx12 adoption will be pretty quick given the amount of attention it's received from devs.
already a bunch of dx12 game engines ready too.
 
Rs6QPn8.png

Pic source: Reddit

Till now these are the games supporting DX12.

Yes indeed, DX12 will be adopted quickly. Unless you have a lot of money to spare, staying away from top tier cards for now seems like a good idea. I think going cheap is the key at this stage, then you can go ahead and get something better once Pascal is released or if AMD brings out something new.
For now if anyone wants to upgrade his card, he might consider getting anything below 13k (my opinion, if someone can stretch this, then good for him). Maybe a Radeon or a 750 ti, the latter because of native DX12.1 (though missing AC) and the former because AMD simply offers more bang for the buck at this price range. Or he could just wait till more news arrive.

Something worth noting here is that DX12 will be backwards compatible, though cards with DX11 baked in them, will obviously miss some features. I found out that Nvidia calls async compute as HyperQ. Here's a link to a document by Nvidia on the same.

Finally, having said that the adoption rate will be pretty high, the devs will certainly have to pay attention to backwards compatibility. I think this is expected, as a lot of people won't buy new hardware just because a new DX version is released. I'd personally give it two years or more for DX12 to really matter.
 
Yup, true. Most of these titles will work on Dx11. Devs simply cant make a game for just Windows 10 users. Although you can expect the visuals to be scaled down in Dx11 mode.

From what i've read HyperQ appears to be a hybrid scheduling solution which is part software part hardware. It works fine for smaller mixed workloads till a particular threshold(i think the number was something like 32 threads), beyond that the performance just tanks on Nvidia cards. AMD cards on the other scale well and perform beyond the threshold.

This article here is an excellent read up on the topic-
https://www.extremetech.com/extreme...ading-amd-nvidia-and-dx12-what-we-know-so-far

Also this post on overclock.net-
http://www.overclock.net/t/1572716/directx-12-asynchronous-compute-an-exercise-in-crowd-sourcing
 
From what i've read HyperQ appears to be a hybrid scheduling solution which is part software part hardware. It works fine for smaller mixed workloads till a particular threshold(i think the number was something like 32 threads), beyond that the performance just tanks on Nvidia cards. AMD cards on the other scale well and perform beyond the threshold.

Exactly, and we saw this on the Ashes benchmark. If a game doesn't use a lot of AC, Nv cards may perform well. When AC does come in to question however, AMD wins. The Oxide dev Kollock mentioned that Ashes uses a "modest amount" of AC. I'd like to think that Nv already knew that Maxwell isn't capable of AC on the hardware level, judging by what Kollock said about Nv visiting their site (office) more than AMD or any one else.

Kollock said:
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.

Like every one else, he too agrees that we should take this particular benchmark with a grain of salt and not use it as a basis to judge overall DX12 performance on Nv cards. It still requires optimizations. But in a way these results are a eye opener for the end user, many of whom (including myself) had no clue about AC or even if such a thing could exist. He can now make a more educated purchase on his next card.

I don't agree with what many are saying, that Nv has failed to read the future while AMD did. I think Nv knowingly omitted the feature from Maxwell, most notably Maxwell 2.0. See, Mantle was created by AMD as they got frustrated about new DX versions arriving very late. They thought AC was a good way to boost performance and so they implemented it. It is normal among companies to innovate, just like Nv was busy making Fermi, Kepler and eventually Maxwell. I'm sure they, like any worthy rival, were fully aware of Mantle's implications. Eventually devs would adopt it, as it was without a doubt, an excellent innovation. But Nv ignored it. Mantle never got too much attention and games were coded generally.

Nv, for their part, went along optimising their cards for DX11 - a move that's still reaping benefits.

Until one day Microsoft came in the picture and decided to make Mantle their inspiration for the next DX, a platform used by the majority.
By the time DX12 was announced/began development MS was likely to have notified devs about its structure. How else did the devs began coding for DX12 games to be launched later this year?

Nv knew this too, hence Maxwell came out and then Maxwell 2 (aka 900 series). So how come they didn't implement AC when they knew DX12 would have it? My theory is that they were still refining the tech before release. Facing competition from AMD they hurriedly launched Maxwell. Let's face it, when Maxwell 1 released, DX11 was reigning the market and it didn't use AC at all. So why include a feature that's not going to be used? It would surely reduce manufacturing costs. That was back in March 2014. DX12 is now available publicly only on Win10 since July 2015. The average lifecycle for GPUs (or any tech for that matter) is generally accepted to be around 2-3 years (so for Maxwell end of life would be 2014+3= 2017) - about enough time for DX12 to be used extensively on games. Game devs will take time adopting, make first mistakes, learn, optimise and so forth. Its a long process. So by the time DX12 really becomes a standard, Maxwell cards will be nearing their obsolescence and their users would probably want to upgrade (to Pascal or Volta). Mind you, they will be enjoying DX12 benefits all the time.

The public release/leak of the Ashes benchmark and AC debacle was unforeseen by Nv and wasn't supposed to happen. Since it did, it caught Nv totally off guard. With their frequent visits to Oxide's offices, they realised their folly; quickly managed to create the emulation technique; incorporated it in to Maxwell.

I'm guessing they'll get things in order when Pascal is out.

Of course this is all my theory, but it seems convincing to me as Nv has not released any statement regarding this.

Moving on, there's a silver lining

AMD seems to have won this round.
Why is this good? Simple. There are two major GPU manufacturers right now AMD and Nv. Arguably, Nv is the more popular brand (don't want to start a war here, just posting an opinion). Naturally folks ignore AMDs offering leading to lesser profits for them. Lesser profits mean lesser money for innovation, and that translates to lack of interest. So NVidia gains market share.

Now, if Nv gains total control (or maximum) of the market then they will effectively create a monopoly. And when you're the market leader, you can control everything (prices, quality, service etc - basically things that consumers want). See where I'm getting at?

Though I'm an Intel fan and have been using a Nv card for years, I'm happy that AMD won. I am also hoping that AMD's 16 core Zen cpu is a success for the same reasons.

The more competitive the market is, the better it is for the consumer, because that's when he wins. Companies will innovate (more tech advancements), better pricing, better quality, services......everything you can imagine. Basic economics.

Come to think of it...I wonder why more companies don't get in to the GPU business.

UPDATE: Turns out DX12 supports AC but its not a requirement. Check this link.

UPDATE 2: From ExtremeTech

Nvidia has represented to ExtremeTech and other hardware sites that Maxwell 2 (the GTX 900 family) is capable of asynchronous compute, with one graphics queue and 31 compute queues. We are investigating this situation. It is not clear how these compute queues are accessed or what the performance penalty is for using them; GCN, according to AMD, is eight ACEs’ with eight queues each, for a total of 64 queues + a graphics queue.

Kollock writes that Ashes does take some advantage of asynchronous computing and sees a corresponding performance increase while using it, but that the work the team has done to-date is a fraction of what console developers may be building. Asynchronous computing is essentially useful for two types of work: It allows jobs to be completed on the GPU when the graphics card is idle (while waiting on the CPU, for example), and it allows tasks to be handled completely separately from the regular render workload. In theory, gameplay calculations can be sent to the ACEs while the GPU is busy with other tasks.
 
Last edited:
AMD also has their upper hand with LiquidVR Technology which also uses Asynchronous Shaders. I'hv tried Project Cars in DX11 mode and its simply not playable in VR mode. will see how much performance gain there will be in VR mode after DX12 support.
 
Status
Not open for further replies.