Someone explain the AMD Nvidia DX12 difference?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
Simplest way I can put it.. instead of CPU doing the all the computational tasks in a serial fashion and GPU doing all the rendering tasks. DX12 allows a lot of the CPUs work to be offloaded to the GPU.. which has thousands of cores.

No, that's not what's happening.

The CPU's part has just been made much leaner, and thus, requires much less work. Nothing's been offloaded to the GPU, you're thinking of OpenCL/HSA
 

sirmo

Golden Member
Oct 10, 2011
1,012
384
136
No, that's not what's happening.

The CPU's part has just been made much leaner, and thus, requires much less work. Nothing's been offloaded to the GPU, you're thinking of OpenCL/HSA
CPU part being made much leaner by virtue of implementing those tasks in GPU compute.. so yes as I explained.. let's not argue semantics I was trying to keep it simple. By offloading I did not mean it happens with no developer effort (as in HSA), I even mentioned that it's harder to implement.
 

guachi

Senior member
Nov 16, 2010
761
415
136
Well except for edge case people who miss real top 40 radio stations.

I miss real top 40 radio stations.:':)':)':)'(

Or, rather, multigenre radio stations like top 40 stations were a definite positive of '80s music.

Now you make me feel old. I think I'll go get my Atari 2600 out now.
 

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
CPU part being made much leaner by virtue of implementing those tasks in GPU compute.. so yes as I explained.. let's not argue semantics I was trying to keep it simple. By offloading I did not mean it happens with no developer effort (as in HSA), I even mentioned that it's harder to implement.

No, again, it's not the tasks being offloaded to the GPU in compute. The draw calls, by far the main performance drain in video games, have been made many times more efficient than those in the traditional APIs.

The CPU is literally doing less work, not because the GPU is doing more, but because there is, really, less work for it to do.
 

sirmo

Golden Member
Oct 10, 2011
1,012
384
136
No, again, it's not the tasks being offloaded to the GPU in compute. The draw calls, by far the main performance drain in video games, have been made many times more efficient than those in the traditional APIs.

The CPU is literally doing less work, not because the GPU is doing more, but because there is, really, less work for it to do.
Sorry but a lowered draw call overhead is only a small part of what DX12 aims to do.
 

MajinCry

Platinum Member
Jul 28, 2015
2,495
571
136
Sorry but a lowered draw call overhead is only a small part of what DX12 aims to do.

Dude, that's the whole appeal of D3D 12, Vulkan 'n' all that. 'Tis how Mantle got Microsoft to actually release D3D 12, whereas they were just gonna keep on with Direct3D 11 revisions.

MantleBenefits.jpg


dx12_api_perf_mantle-100575202-orig.png


The draw calls being made moot is the whole point of these new-fangled APIs.
 

dogen1

Senior member
Oct 14, 2014
739
40
91
Sorry but a lowered draw call overhead is only a small part of what DX12 aims to do.

That's somewhat true, but the main advantage is to reduce overhead and allow the api/application to take better advantage of multi core cpus.

CPU part being made much leaner by virtue of implementing those tasks in GPU compute.. so yes as I explained.. let's not argue semantics I was trying to keep it simple. By offloading I did not mean it happens with no developer effort (as in HSA), I even mentioned that it's harder to implement.

Nope.

Those aren't important DX12 features, they are available in DX11 as well, and considering how much of a hit nvidia cards take when trying to use them for VXAO / HFTS they don't seem worth it at all.

Both for changes that are almost impossible to spot while playing the game. Personally I'd rather have quality performance improving hardware features than decreasing ones.

so essentially useless features that degrade performance by 20+% is a must for some people.

:eek:

How does looking at the performance impact of a certain effect that uses a hardware feature a realistic analysis of whether that hardware feature is useful?

How do you know it wasn't con. raster that makes those effects even possible in the first place? How do you know that it didn't make them, say, 2x faster than otherwise? You don't.

The point is, looking at it that way is a waste of time, and pretty stupid imo.

The bottom line is that these features are in demand by developers, and I've seen console devs say they want them. So they're useful, period.
 
Last edited:

boozzer

Golden Member
Jan 12, 2012
1,549
18
81
because of the last sentence in bacon's post. in the very post you quoted................
 

boozzer

Golden Member
Jan 12, 2012
1,549
18
81
And once again, you can't determine the usefulness(or performance implications) of the feature that way.
then what do we use to determine it's usefulness? seems like you read some devs' thoughts on the matter. would it be possible for you to share it or is it confidential?
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
And once again, you can't determine the usefulness(or performance implications) of the feature that way.

Funny plenty of people claim that Async compute is useless because many engines which haven't been optimized to use it well are "only" getting 5-10% gains (ignoring that 5-10% is often difference in GPU tiers).
 

dogen1

Senior member
Oct 14, 2014
739
40
91
then what do we use to determine it's usefulness? seems like you read some devs' thoughts on the matter. would it be possible for you to share it or is it confidential?

Source for all of that?

Sebbbi has made quite a few posts on them. I picked some of the shorter ones, but easy to find all of them with a search.

https://forum.beyond3d.com/threads/directx-12-api-preview.55653/page-5#post-1791919

https://forum.beyond3d.com/threads/direct3d-feature-levels-discussion.56575/page-19#post-1851464

https://forum.beyond3d.com/threads/directx-12-api-preview.55653/page-6#post-1791930
 

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91

None of those say anything about lots of developers being excited to use them on consoles or even in high demand at all. In fact he is saying he would be excited to see any developer excited to use it, but they would only be able to target 5% of the market (and no consoles) so the game would cost way too much to make to be worth it.

Where is a source of multiple developers saying they are excited to use the features on consoles?
 

dogen1

Senior member
Oct 14, 2014
739
40
91
None of those say anything about lots of developers being excited to use them on consoles or even in high demand at all. In fact he is saying he would be excited to see any developer excited to use it, but they would only be able to target 5% of the market (and no consoles) so the game would cost way too much to make to be worth it.

Where is a source of multiple developers saying they are excited to use the features on consoles?

I never said lots. Here are some though.

https://forum.beyond3d.com/threads/...ecifically-the-xb1.55487/page-40#post-1823149

https://twitter.com/KostasAAA/status/720983893420175360


https://twitter.com/KostasAAA/status/718718497245761536

More people who want them.

https://forum.beyond3d.com/threads/direct3d-feature-levels-discussion.56575/page-35#post-1927093

I'm done searching for posts to continue this waste of time. Don't expect any more responses.
 
Last edited:

renderstate

Senior member
Apr 23, 2016
237
0
0
They aren't supported in DX11? Really? Why would you say that? Considering their only use so far has been in DX11 games.
Oh boy, ignorance is bliss. Those DX11 titles use NVApi to provide support for features not supported on DX11. The very same features that are officially supported in DX12. 5 seconds on Google is all you need to confirm those are DX12 features, but please, keep trolling.

Intel doesn't support Conservative rasterization, and Nvidia supports 2 of the 3 tiers:

https://msdn.microsoft.com/en-us/library/windows/desktop/dn914594(v=vs.85).aspx
Intel supports both features on Skylake, which is conveniently missing from your table, see intel docs, page 25: https://www.slideshare.net/mobile/IntelSoftware/6th-gen-graphics-api-developer-guide


So let me repeat it: 2 major DX12 features are supported by Intel and NVIDIA HW, but not by AMD. Giving the limited resources AMD has this is hardly surprising. Let's hope Vega fixes this problem, even though after seeing how little was delivered in terms of new features on Polaris I am not holding my breath.
 

sxr7171

Diamond Member
Jun 21, 2002
5,079
40
91
I miss real top 40 radio stations.:':)':)':)'(

Or, rather, multigenre radio stations like top 40 stations were a definite positive of '80s music.

Now you make me feel old. I think I'll go get my Atari 2600 out now.

How could you miss those? Today's stations are so much better. Playing the same great music over and over and over and over. You hear what the record labels want you to hear. What could be better than that? Today's stations like to keep a focus and keep you listening to a narrow genre based set of what you should be listening to. "XYZ is so talented and so smart and is a modern day genius and he/she works so hard." OMG you have to listen to him/her at least 20 times a day. You must stream them. You must buy their amazing stuff on your preferred download store. What payola? There is no payola.
 

96Firebird

Diamond Member
Nov 8, 2010
5,712
316
126
I'm done searching for posts to continue this waste of time. Don't expect any more responses.

I was going to warn you not to waste your time with him, nothing you post will satisfy. Best just to ignore and move on...
 

boozzer

Golden Member
Jan 12, 2012
1,549
18
81
so what do the info contained in those posts have to do with bacon's post of 20% performance loss? like your original response, we don't know the cause of the performance loss, if it caused any performance loss right? the only thing we are sure of is that there is a 20% performance loss.
 
Last edited:

Bacon1

Diamond Member
Feb 14, 2016
3,430
1,018
91
Oh boy, ignorance is bliss.

I guess you must think so

Those DX11 titles use NVApi to provide support for features not supported on DX11. The very same features that are officially supported in DX12. 5 seconds on Google is all you need to confirm those are DX12 features, but please, keep trolling.

No it is not, its using DX11.3. I linked you the MSDN article talking about it.

http://wccftech.com/directx-11-3-api/

feel free to read any articles about DX11.3, they all include the exact same features.

The CORE features that are DX12 specific all deal with performance optimization such as multi gpu and async compute.

Intel supports both features on Skylake, which is conveniently missing from your table, see intel docs, page 25: https://www.slideshare.net/mobile/IntelSoftware/6th-gen-graphics-api-developer-guide

Missing from the table, Skylake wasn't out then ;)

I'd love to see the division or rise of the tomb raider played on a skylake processor, must run incredibly well.
 
May 11, 2008
19,644
1,199
126
Allthough some may argue async compute is not a part of directx12 (now), It will be (and sort of already is) for sure. The whole thing is that for gcn GPUs async compute is what makes them shine.

Here is a more detailed explanation. Note that Pascal is not listed and of course, pascal has a lot of touted improvements when it comes to dx12.
But it will help with explaining.
http://www.anandtech.com/show/9124/amd-dives-deep-on-asynchronous-shading


As a side note :
Now the upcoming PS4 and the xbox updates, and polaris for the pc, are all touted for Virtual Reality : VR.
But what i am 99% sure of is that they also will have in common is a similar ace/hws setup. This makes it for game engine developers much easier to port their games from one platform to another. Reducing development and porting costs, increasing the size of the customer base and as a side effect, will make gcn an industry standard for the upcoming years.

The thing is with virtual reality, that for a full immersion, a fluid image alone is not enough. Accompanying audio is also very important for the VR experience.
And that is what gcn is good at, processing data, if that may be video graphics or audio( or even ethereum mining data). Now if you can process both on the same device, it is for the software developer easier to make a prediction how the software is going to perform. I think the reason to do so makes the development of a 3d engine much easier.

I should note that pascal has of course also the ability to process audio and video.
 
Last edited:

kaanguner

Junior Member
Jul 9, 2016
3
0
0
Oh boy, ignorance is bliss. Those DX11 titles use NVApi to provide support for features not supported on DX11. The very same features that are officially supported in DX12. 5 seconds on Google is all you need to confirm those are DX12 features, but please, keep trolling.


Intel supports both features on Skylake, which is conveniently missing from your table, see intel docs, page 25: https://www.slideshare.net/mobile/IntelSoftware/6th-gen-graphics-api-developer-guide


So let me repeat it: 2 major DX12 features are supported by Intel and NVIDIA HW, but not by AMD. Giving the limited resources AMD has this is hardly surprising. Let's hope Vega fixes this problem, even though after seeing how little was delivered in terms of new features on Polaris I am not holding my breath.

To what extent they matter? Should the fact that Polaris lack those features effect my purchase between a 480 and 1060?
 

Irenicus

Member
Jul 10, 2008
94
0
0
To what extent they matter? Should the fact that Polaris lack those features effect my purchase between a 480 and 1060?

It'll probably matter once nvidia revamps gameworks for dx12 and starts including effects that make heavy use of conservative rasterization and raster ordered views.


The moment they get those effects libraries up and running for some new/current updated gameworks effects, they will almost certainly pay devs (in free labor / marketing pushes) to include the features. The only beneficiaries will be nvidia users on the latest pascal and later maxwell parts, none for maxwell 1, or kepler, or consoles, or amd gcn. There might be a work around to achieve a similar effect, but of course, there will be a differential performance impact on non nvidia cards. But then, that is rather the point.

We know the game plan, nvidia has been doing it for years. What amd needs to do is fight fire with fire and ramp up their own rendering techniques that make use of capabilities baked into gcn that nvidia cards don't do as well with. I don't know exactly what that would be, but then I'm not a game engine developer.
 

flopper

Senior member
Dec 16, 2005
739
19
76
Something about how dx12 is better on AMD and that it has more raw power while Nvidia relies on driver optimization for specific games on their end?

Also, doesn't dx12 basically allow for a higher ceiling but the floors are still the same...?

AMD has hardware support for dx12.
Nvidia maxwell cards can be said, not so much and rely on drivers to do it which tanks performance when a 390 is better than a 980ti.
Nvidia rely on brute force approach with pascal that contains some elements for dx12.

The primary idea behind dx12 is to remove cpu overhead to be the bottleneck and to make developers able to go multithreading instead of single thread that holds back PC gaming and development.

AMD choose a flexible GCN approach that allows the hardware to do things better but at a slight cost (GCN) and Nvidia choose to do a brute force approach with high clockspeeds (Pascal).

Issue for amd is to make the developer to use multitread and dx12 functions to create the game engine to utlize their functions like DICE with BF1 as Nvidia is likely to pay the developer of a game engine to not use dx12 functions that cripple their cards and in conjunction also make PC gaming going backwards.

to some extent Nvidia is holding back PC gaming worldwide by not supporting hardware dx12 functions yet.