DX12 Performance Gains Detailed

  • 89 results
  • 1
  • 2
#1 Edited by Wasdie (50538 posts) -

http://www.developer-tech.com/news/2014/aug/13/directx-12-boosts-fps-50-and-cuts-power-consumption-half/

TL;DR: 50,000 draw calls on a Surface Pro 3 done in DX11 and DX12. DX12 version saw 50% more FPS and lower power consumption simply but increased CPU utilization with a lower level of hardware abstraction. Big gains coming to the PC in the future. Consoles do not have the bottleneck thus it won't apply to them.

Full writeup:

I'll preface this by saying this is for one tech demo that was ran on a Surface Pro 3 (Microsoft Tablet) with a HD4400 graphics chip.

The demonstration did 50,000 unique objects with equates to 50,000 draw calls per frame. They used procedural generation to generate the meshes which created the objects. Draw calls are some of the most expensive things a GPU does and is a huge software bottleneck as currently DX11 uses a higher level of hardware abstraction (one-size-fits all approach) that isn't easily multithreaded and is lower due to the higher level nature. DX12 provides a lower level of hardware abstraction (less one-size-fits-all) and thus allows for much better multithreading of draw calls and better CPU utilization reducing overhead.

The CPU will still be part of the equation. CPUs are still used to feed information to the GPU. The scenes are built on the CPU and then sent to the GPU through draw calls. Of course there are also ways to utilize the GPU to do certain CPU operations to reduce the overhead of calculations (physics for the most part). In certain situations it's faster to send time communicating information between the CPU and GPU, running the stuff on the GPU, and then sending it back to the CPU to finish building the frame than it is to do it all on the CPU.

Running DX11 they were able to get 19 FPS on this system doing the 50,000 draw calls. With DX12 they were getting 33 FPS. This also increase the efficiency of each draw call lowering the power consumption and heat of the GPU as it doesn't have to work as hard. Thus we saw an FPS boost and power consumption drop (which means less heat).

Now this is only a tech demo but these gains are very promising. This was a huge gain on a very weak mobile device. The gains will be reflected with more powerful hardware so with DX12 we should be able to see better CPU and GPU utilization allowing our existing GPUs to perform far better on games.

OpenGL 4.5 has also been released (or about to be released) and it too is focusing on lowering the hardware abstraction to try to get similar performance gains.

This all only really applies to the PC as consoles do not have that higher level of hardware abstraction because there is no need for a "one-size-fits-all" approach as a console only has one level of hardware. This has allowed GPUs to be used far more efficiently and thus has gotten better performance out of console hardware than comparable PC hardware. We saw a 50% gain in FPS here simply from better CPU utilization through a lower level API yet that level is still higher than a consoles so there is reason to believe that the consoles even get better utilization of their hardware. This is why despite the PS3/360 being so old, they could do modern rendering techniques even if it was at lower resolutions/framerates.

So don't think this is going to boost the power of the Xbox One. This lower level abstraction of hardware is loosening up a bottleneck that simply does not exist on a console.

#2 Posted by cainetao11 (19027 posts) -

Never bought into any of these things anyway.

#3 Posted by ReadingRainbow4 (15957 posts) -

Bad news for lemmings.

#4 Edited by Daious (1983 posts) -

I can't wait for the new cards to have full dx12 support.

I hope newegg has the sale they had for last year where r9 290x was 400 dollars a piece on black friday (but this time with the r9 390x).

#5 Posted by chikenfriedrice (10857 posts) -

Well Phil Spencer already stated that DX12 won't do much for the XB1....so not really any new news for the console.

Will existing gpu's get updated? Like my 660ti? ( might be a stupid question )

#6 Edited by MlauTheDaft (4345 posts) -

Nice find.

Here's ArsTechnica on OGL 4.5.

This is very exciting and I'm really looking foreward toseing where the APIs go.

Edit:

Don't think you need to point out that it won't help the Xbone anymore ;) I believe it's gotten through most of even the thicker skulls around here.

#7 Posted by lostrib (41789 posts) -

Cool, hopefully devs will actually use DX12

#8 Posted by tormentos (19907 posts) -

Saying this for ages for console this will do nothing since consoles have lower over head than PC already,in fact in 2011 before the whole DX12 debacle one of AMD top guys was talking about draw calls been superior on consoles vs PC and that was PS3 and xbox 360 vs PC not PS4 or xbox one.

#9 Posted by Wasdie (50538 posts) -

@chikenfriedrice said:

Well Phil Spencer already stated that DX12 won't do much for the XB1....so not really any new news for the console.

Will existing gpu's get updated? Like my 660ti? ( might be a stupid question )

Yes. GPU utilization will increase but not by a lot for most games. If your CPU limited now you'll see bigger gains. We'll see some improvements on the GPU side of things, especially in games that do a lot of draw calls. Even that bogs down the best of CPUs.

#10 Edited by MlauTheDaft (4345 posts) -

@chikenfriedrice said:

Well Phil Spencer already stated that DX12 won't do much for the XB1....so not really any new news for the console.

Will existing gpu's get updated? Like my 660ti? ( might be a stupid question )

Fermi architecture and newer I believe.

So yes.

Edit:

The reduced power consumption alone sparks my interest. This will mean improved GPU Boost due to lower temperatures.

#11 Posted by Sollet (7488 posts) -

@lostrib said:

Cool, hopefully devs will actually use DX12

This.

#12 Posted by ShepardCommandr (3214 posts) -

@Sollet said:

@lostrib said:

Cool, hopefully devs will actually use DX12

This.

#13 Posted by chikenfriedrice (10857 posts) -

@Wasdie @MlauTheDaft Great news...thanks guys.

#14 Posted by topgunmv (10328 posts) -

Has microsoft said whether win7 will get dx12?

#15 Posted by santoron (7940 posts) -

Could really extend the life of middle class aging hardware.

#16 Posted by RossRichard (2441 posts) -

@daious said:

I can't wait for the new cards to have full dx12 support.

I hope newegg has the sale they had for last year where r9 290x was 400 dollars a piece on black friday (but this time with the r9 390x).

If you bought a new GPU in the last couple of years, you likely already have a fully dx12-compliant card.

#18 Posted by osan0 (12940 posts) -

very nice.

will DX 12 be a windows 8.1 (or possibly a windows 9) release or will it also appear on windows 7? if MS pull a DX 10 again then they will just shoot themselves in the foot.

it would be even worse if openGL4.5/5 works on windows 7. with OSX and linux getting more attention having that extra support would just be another reason for game devs to stop using DX for future projects.

#19 Posted by FireEmblem_Man (9037 posts) -

Impressive! I want to get a Surface Pro 3, and this DX12 will make it more power friendly.

#20 Posted by Wasdie (50538 posts) -

@osan0: Depends on the direction they go with Windows 9. The rumor is it's going to be free for Windows 7 users so I could see them making DX12 Windows 8/9 and not supporting Windows 7.

I plan on getting Windows 9 if it's what the rumors say it to be.

#21 Posted by PapaTrop (1710 posts) -

I'm sure I'm still a few years off from seeing any benefit. I currently have a DX11 card and Windows 7, and don't think I'll be upgrading anytime soon.

#22 Posted by foxhound_fox (90491 posts) -

I hope 32-bit Windows platforms are phased out for developers soon. That 3GB restriction on XP is really holding things back.

#23 Posted by leandrro (967 posts) -

DX12 draw calls performance increase ? thank you AMD for making mantle and forcing them to move

#24 Posted by magicalclick (23649 posts) -

Yup, when DX12 was announced, I already know console is on its way to retirement. Xbox One is very likely the last console because when PC/Tablet/Phone all run the same universal games just as efficiently as console, the benefit of gaming anywhere anytime becomes much more important than stationary console.

#25 Posted by tormentos (19907 posts) -

@MlauTheDaft said:

Nice find.

Here's ArsTechnica on OGL 4.5.

This is very exciting and I'm really looking foreward toseing where the APIs go.

Edit:

Don't think you need to point out that it won't help the Xbone anymore ;) I believe it's gotten through most of even the thicker skulls around here.

It hasn't you will be surprise at how many lemmings still cheer for DX12 as the xbox one savior,including Blackace,slimdogmillionar,stormyjoke,fast robby.. and several others.

#26 Posted by glez13 (9004 posts) -

@RossRichard said:

@daious said:

I can't wait for the new cards to have full dx12 support.

I hope newegg has the sale they had for last year where r9 290x was 400 dollars a piece on black friday (but this time with the r9 390x).

If you bought a new GPU in the last couple of years, you likely already have a fully dx12-compliant card.

From what I understand, not a "fully" DX12 compliant card, just a card capable of using these basic DX12 functions. For actual DX12 specific graphical functions you will still need a DX12 compliant card like always.

#27 Posted by PapaTrop (1710 posts) -

@magicalclick said:

Yup, when DX12 was announced, I already know console is on its way to retirement. Xbox One is very likely the last console because when PC/Tablet/Phone all run the same universal games just as efficiently as console, the benefit of gaming anywhere anytime becomes much more important than stationary console.

Yep.

I wouldn't be surprised to see docking ports on future TVs that allow you to plug any device into the TV, and run it. Smartphones, tablets, set-top boxes, etc.

It'd be great if Sony/MS/Nintendo only made handheld consoles that had that feature. Take it with you to play on the go, and when you get home plug it into the back of your TV and pick up a wireless controller. There's no need to have stationary boxes.

#29 Edited by HaloinventedFPS (4736 posts) -

Low level API's won't make much of a difference if you have a good CPU, i remember saying this before Mantle came out & a lot of people said i was wrong, then came the benchmark's, 5% gains at best if you had an i5/7, especially if it was OC'd, more like 2% gains

There is some advantages though, no micro stuttering & better crossfire scaling, which Mantle provides & i hope DX12 provides something similar

#30 Posted by Salt_The_Fries (9815 posts) -

@Wasdie said:

http://www.developer-tech.com/news/2014/aug/13/directx-12-boosts-fps-50-and-cuts-power-consumption-half/

TL;DR: 50,000 draw calls on a Surface Pro 3 done in DX11 and DX12. DX12 version saw 50% more FPS and lower power consumption simply but increased CPU utilization with a lower level of hardware abstraction. Big gains coming to the PC in the future. Consoles do not have the bottleneck thus it won't apply to them.

Full writeup:

I'll preface this by saying this is for one tech demo that was ran on a Surface Pro 3 (Microsoft Tablet) with a HD4400 graphics chip.

The demonstration did 50,000 unique objects with equates to 50,000 draw calls per frame. They used procedural generation to generate the meshes which created the objects. Draw calls are some of the most expensive things a GPU does and is a huge software bottleneck as currently DX11 uses a higher level of hardware abstraction (one-size-fits all approach) that isn't easily multithreaded and is lower due to the higher level nature. DX12 provides a lower level of hardware abstraction (less one-size-fits-all) and thus allows for much better multithreading of draw calls and better CPU utilization reducing overhead.

The CPU will still be part of the equation. CPUs are still used to feed information to the GPU. The scenes are built on the CPU and then sent to the GPU through draw calls. Of course there are also ways to utilize the GPU to do certain CPU operations to reduce the overhead of calculations (physics for the most part). In certain situations it's faster to send time communicating information between the CPU and GPU, running the stuff on the GPU, and then sending it back to the CPU to finish building the frame than it is to do it all on the CPU.

Running DX11 they were able to get 19 FPS on this system doing the 50,000 draw calls. With DX12 they were getting 33 FPS. This also increase the efficiency of each draw call lowering the power consumption and heat of the GPU as it doesn't have to work as hard. Thus we saw an FPS boost and power consumption drop (which means less heat).

Now this is only a tech demo but these gains are very promising. This was a huge gain on a very weak mobile device. The gains will be reflected with more powerful hardware so with DX12 we should be able to see better CPU and GPU utilization allowing our existing GPUs to perform far better on games.

OpenGL 4.5 has also been released (or about to be released) and it too is focusing on lowering the hardware abstraction to try to get similar performance gains.

This all only really applies to the PC as consoles do not have that higher level of hardware abstraction because there is no need for a "one-size-fits-all" approach as a console only has one level of hardware. This has allowed GPUs to be used far more efficiently and thus has gotten better performance out of console hardware than comparable PC hardware. We saw a 50% gain in FPS here simply from better CPU utilization through a lower level API yet that level is still higher than a consoles so there is reason to believe that the consoles even get better utilization of their hardware. This is why despite the PS3/360 being so old, they could do modern rendering techniques even if it was at lower resolutions/framerates.

So don't think this is going to boost the power of the Xbox One. This lower level abstraction of hardware is loosening up a bottleneck that simply does not exist on a console.

But surely it could amount to mustering another 12p, just like Metro Redux devs did?

#31 Posted by GrenadeLauncher (6247 posts) -

Most DX12 improvements are already on the Xbone anyway. Sorry lemrats.

#32 Posted by Heil68 (46645 posts) -

Consoles do not have the bottleneck thus it won't apply to them.

poor lems cant catch a break.

#33 Posted by Salt_The_Fries (9815 posts) -

@Heil68 said:

Consoles do not have the bottleneck thus it won't apply to them.

poor lems cant catch a break.

I see you're too busy having Broshida's dong in your mouth anyway.

#34 Edited by topgunmv (10328 posts) -

@glez13 said:

@RossRichard said:

@daious said:

I can't wait for the new cards to have full dx12 support.

I hope newegg has the sale they had for last year where r9 290x was 400 dollars a piece on black friday (but this time with the r9 390x).

If you bought a new GPU in the last couple of years, you likely already have a fully dx12-compliant card.

From what I understand, not a "fully" DX12 compliant card, just a card capable of using these basic DX12 functions. For actual DX12 specific graphical functions you will still need a DX12 compliant card like always.

While what you say makes sense, I haven't seen any news sources reporting that.

#35 Posted by Kinthalis (5340 posts) -

@Wasdie said:

Consoles do not have the bottleneck thus it won't apply to them.

Consoles absolutley DO have a bottleneck.. it's called their crappy AMD CPU's.

#36 Posted by FoxbatAlpha (8781 posts) -

So it doesn't cure a bottleneck that isn't there so just immediately rule out all the other benefits. Cows around here still only here what they want to. Dumb.

#37 Edited by Kinthalis (5340 posts) -

@tormentos said:

Saying this for ages for console this will do nothing since consoles have lower over head than PC already,in fact in 2011 before the whole DX12 debacle one of AMD top guys was talking about draw calls been superior on consoles vs PC and that was PS3 and xbox 360 vs PC not PS4 or xbox one.

That was also consoles vs DX9, NOT DX 11.

#39 Posted by magicalclick (23649 posts) -

@papatrop:

I am ok with current tech. Just WiDi and plugin power. Or just miniHDMI and plugin power.

#40 Posted by magicalclick (23649 posts) -

@scottpsfan14:

Technically, no benefit to Xbox One. However, it will make Xbox One game whole lot easier to develop with as the same optimization code works on both PC and Xbox One.

#42 Posted by magicalclick (23649 posts) -

@Suppaman100:

You do realize the thread is about PC right?

#43 Posted by Oemenia (10245 posts) -

Always so much insecurity frothing from fanboy mouths, Im sure you guys were saying console optimisation was a myth not long ago. Its as pathetic as bashing console games only to go begging for them.

#44 Posted by Wasdie (50538 posts) -

@HaloinventedFPS said:

Low level API's won't make much of a difference if you have a good CPU, i remember saying this before Mantle came out & a lot of people said i was wrong, then came the benchmark's, 5% gains at best if you had an i5/7, especially if it was OC'd, more like 2% gains

There is some advantages though, no micro stuttering & better crossfire scaling, which Mantle provides & i hope DX12 provides something similar

Nah you can still bottleneck a good CPU without proper multithreading. A single core tends to spend a lot of time waiting for memory calls and whatnot. Multiple cores can distribute this far better.

Planetside 2 is a poster child of this. The CPU utilization is just horrible. Even on the best CPUs that are overclocked framerates die in big battles because of poor CPU utilization. They are kind of stuck though thanks to the DX9 rendered. Lots of wasted CPU time just waiting for other hardware to get its crap done.

#45 Edited by Wasdie (50538 posts) -

Don't derail the thread.

#47 Posted by Wasdie (50538 posts) -

@Kinthalis said:

@Wasdie said:

Consoles do not have the bottleneck thus it won't apply to them.

Consoles absolutley DO have a bottleneck.. it's called their crappy AMD CPU's.

Way to ignore everything I said and bring up something completely unrelated. Bravo. You're making us PC gamers look really good.

#48 Posted by Wasdie (50538 posts) -

@GrenadeLauncher said:

Most DX12 improvements are already on the Xbone anyway. Sorry lemrats.

They were also on the PS2, Xbox, Gamecube, PS3, Xbox 360, Nintendo Wii, and PS4. Basically any game console with a dedicated GPU.

The PC has been the only platform with this bottleneck unless there was a graphics API written for a specific GPU/CPU combination (which there were a few I believe). The big ones, OpenGL and Direct3D, were built as "one-size-fits-all" for wide hardware compatibility and thus were higher level.

#49 Posted by uninspiredcup (12137 posts) -

Still waiting on FF14 to get DX11.

#50 Posted by magicalclick (23649 posts) -

@uninspiredcup:

That's one draw back on PC. The game indeed lags on DX adaptation. Hope this time is faster because DX12 will be also used by Xbox, so a lot of games on both platforms will likely be DX12.