• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

Why DirectX 12 is a game-changer - DIGITAL FOUNDRY - updated.

And not to mention that in spite of a very heavy API DX11 games on mid-range PCs perform better than on consoles, there are edge cases of course.
Yep. Even my FX6300 does consistently better than the consoles
 
One Xbox One the CPU was never the bottleneck. What that does that mean for all those shoddy ports?
Since the Xbox One uses DX11.X(box) which already features a lot of the improvements which will come with DX12 for PC and mobile.

The porting process should enjoy faster development and since DX12 is practically the same on every platform, (AAA) Developer can use their optimised code for every plattform.
Right now developers are fairly limited on PC, since they must go away from their optimised code and modern API-Features to the implicit execution modell from DX11 with limited possibilities, which sometimes leads to bad memory behavior, bad CPU scaling and overall an inferior codedesign.
 
While I know full well that most games won't see that much of a bump from DX12 adoption, a lot of my favorite genres (RTS, city sims) could be about to go through a total revolution. I can't help but be excited.
 
A bit hyperbolic and premature in its writing style, and definitely not focussing on the most interesting part of DX12 for me. I really do not care too much that low end AMD hardware could perhaps run AAA releases better, rather, I think what it does for PC only ambitious games is more interesting.

But I guess the bottomline getting a little bit ... better... is not too bad.

I still have no idea what the first DX12 release will be, around DX10 time they were screaming from the roof tops and presenting tons of downloadable tech demos... none of that right now though.
 
Also, for XBOX ONE Users. The xbox one supports a lot, if not all, DX12 features. So when a dev developes a DX12 game for PC, he can easily port the game to Xbox One. Wasnt Forza 5 ported like in 2 month from Xbox One to PC?

Looking at your user name and post history, you'll go far in this forum for sure.

-------

I prefer Durante's article honestly. This reads it's based on some measurements made and some feature lists read, whereas Durante's article contains a lot better understanding of the subject material.
 
Also, for XBOX ONE ® Users. The xbox one ® supports a lot, if not all, DX12 ® features. So when a dev developes a DX12 ® game for PC, he can easily port the game to Xbox One ®. Wasnt Forza 5 ® ported like in 2 month from Xbox One ® to PC?

Sorry, that is how it read, lol.
 
Hey, there are dozens of us!

dozens_of_us_arrested_development.gif
 
Since the article is focusing on draw calls then the performance gains seen in mantle also apply here.

It doesn't only help AMD CPUs. It even helps Intel CPUs that are 6 years old. I've seen FPS go up around 50% on aging Intel cpus in Mantle.

bf4_mp_cpu_radeon_mantle.png


bf4_mp_cpu_radeon_dx.png

Surely despite the G3420 having the higher avg FPS on DX12 compared to the i5 2500k on DX11, the dual-core has more choppy / stuttery overall gameplay?
 
Not sure that would do any good for ArmA (3) considering how badly engine in threaded and barely uses anything outside of one core. Engine needs a lot rewrite, not just graphics renderer.

I'm just hoping. Bohemia said it's doing DX12 for the ArmA 3 expansion, and isn't DX12 supposed to take some heat off the CPU?
 
amd-dx12-crossfire-4.jpeg


Not really a promise but what I was reading about X12 was that SLI will be changed and that games will be rendered on those cards differently and eliminating a lot of problems of SLI.

Which also allows VRAM to stack as I understand, which is a nice bonus. So if you have 2 4GB cards in SLI, in supported games you'd have 8GB VRAM available and not 4.
 
Hey, Durante.

Any hope of having tools ported on DX12 eventually or it's a too complex task?

I mean things like Gedosato, I also use a lot RTSS to limit framerate and wondering if DX12 is breaking again compatibility with everything. Including SweetFX.

Are we going to wait years/forever to have this stuff back when DX12 actually happens, or the new API isn't a big problem?
 
I love the stereotypes surrounding PC gamers.
"PC gamers are the ones who love 60 fps and have high-budgeted Nvidia card." Do people seriously think there are more high-end PC gamers in the world than lower-end ones?
 
amd-dx12-crossfire-4.jpeg


Not really a promise but what I was reading about X12 was that SLI will be changed and that games will be rendered on those cards differently and eliminating a lot of problems of SLI.

This is also now going to require the game developer to build in support for multi-gpu rendering as opposed to the IHV. So it is a wash, as not all developers will support it (thus not changing the situation from today). Those that do add support probably will use Split frame rendering.
 
I love the stereotypes surrounding PC gamers.
"PC gamers are the ones who love 60 fps and have high-budgeted Nvidia card." Do people seriously think there are more high-end PC gamers in the world than lower-end ones?
Well PCGaf will refer you to the Nvidia CEO claim of GTX680 installed base.
 
I'll try to explain again why DX12 expectations may be overblown, as it always happens, when you focus on the technical aspects and not on the practical ones.

Optimizing a game is a never-ending process that takes development time. Development time = money.

For a game company the first priority is to do things QUICKLY, because doing things fast becomes money you spare. That's why Batman game tanked: they didn't want to allocate it enough time. They wanted it done FAST because PC isn't worth long develop times.

That means that in a lot of cases the hypothetical speed of DX12 WILL NOT be translated in faster FPS for the end users, but shorter optimization phases for the developer.

So, DX12 = same performance of DX11 with shorter development time (eventually), but at a lesser cost for the developer.

That's how it works. The speed of an engine isn't solely due to technology, but also to time spent on it. In practice, TIME is more an important variable for the developer than performance for the end-user.

That means, again, that in practice DX12 will end producing just about the same performance you see now in DX11. Every improvement in tech, in the HISTORY OF PC has always been eaten very quickly by rising requirements. Always and without exception. The moment you give developers some gains, they fill them up on their side.

That's not even the whole picture. As everyone knows video drivers are increasingly complex and optimized only for the newest cards. See Witcher 3 performing very badly on 7xx cards. That means that even if DX12 theoretically bring benefits to ALL cards, as time passes the engineers writing drivers will only have time (and motivation to do so) to optimize them well on newer hardware.

Their interest is to sell hardware. That means that all gains that DX12 will be used to sell hardware, and not to make your current hardware live longer. It will mean less engineering effort to develop new cards while showing bigger performance gaps.

This is how things work in practice, since the world isn't simply run by theoretical technology. What you expect from DX12 just WON'T HAPPEN.
 
Not really a promise but what I was reading about X12 was that SLI will be changed and that games will be rendered on those cards differently and eliminating a lot of problems of SLI.
DX12 offer three different approaches for multi-gpu processing.

Implicit Multiadapter, which basically will work like SLI/Crossfire today, with Alternate Frame Rendering with all pros/cons.

Explicit Multiadapter - Linked GPUs, which is basicly for two GPUs in PC-Systems, where the developer can handle all the resource management and synchronisation.
This is the point where totally new approaches could be developed, but since it's not a requirement, it's up to the dev to make something out of it and the solution could be very different from developer to developer.

And last there is Explicit Multiadapter for unlinked GPUs, designed for a combination of iGPU + dGPU, which is of course also an explicit developer effort.
So the conclusion is simply, with the explicit multiadapter feature the door is open for totally new designs, but since it's not a requirement, DX12 will not automatically offer better approaches for the enduser.

Which also allows VRAM to stack as I understand, which is a nice bonus. So if you have 2 4GB cards in SLI, in supported games you'd have 8GB VRAM available and not 4.
Thats of course not quite right, you shouldn't expect approaches with zero data-sharing which would lead to exactly the double amount of available memory.

I'll try to explain again why DX12 expectations may be overblown, as it always happens, when you focus on the technical aspects and not on the practical ones.

Optimizing a game is a never-ending process that takes development time. Development time = money.

For a game company the first priority is to do things QUICKLY, because doing things fast becomes money you spare. That's why Batman game tanked: they didn't want to allocate it enough time. They wanted it done FAST because PC isn't worth long develop times.

That means that in a lot of cases the hypothetical speed of DX12 WILL NOT be translated in faster FPS for the end users, but shorter optimization phases for the developer.

So, DX12 = same performance of DX11 with shorter development time (eventually), but at a lesser cost for the developer.

That's how it works. The speed of an engine isn't solely due to technology, but also to time spent on it. In practice, TIME is more an important variable for the developer than performance for the end-user.

That means, again, that in practice DX12 will end producing just about the same performance you see now in DX11. Every improvement in tech, in the HISTORY OF PC has always been eaten very quickly by rising requirements. Always and without exception. The moment you give developers some gains, they fill them up on their side.

That's not even the whole picture. As everyone knows video drivers are increasingly complex and optimized only for the newest cards. See Witcher 3 performing very badly on 7xx cards. That means that even if DX12 theoretically bring benefits to ALL cards, as time passes the engineers writing drivers will only have time (and motivation to do so) to optimize them well on newer hardware.

Their interest is to sell hardware. That means that all gains that DX12 will be used to sell hardware, and not to make your current hardware live longer. It will mean less engineering effort to develop new cards while showing bigger performance gaps.

This is how things work in practice, since the world isn't simply run by theoretical technology. What you expect from DX12 just WON'T HAPPEN.
Let me also claim, that your explanation is not how it will work in practise.

DX12 needs a different rendering-design than DX11 and offloads many responsibility from the driver to the devs.
This is will not be a cheap and fast solution, to make the same result possible with DX12 in a shorter amount of time than in DX11.
Every developer will pay first time, money and serious effort to make a DX12 back-end and I can guarantee you,making a crappy-back-end will costs more than saving anything, so it's not in the interested of any developer developing a bad DX12 renderer.
Another point why you shouldn't expect disappointing results are the consoles.
Every developer already has a modern design-approach for rendering their games.
With the Xbox One we have a console which uses the same technology and basically same API.

Expectations are of course different from person to person.
Some reasonable, some don't.
I also would'nt recommed to think about mind-blowing results, especially from the first games.
Like with every major technology ramp, they will be bugs, they will be things left desired, but laying the path to the general future.
 
This is will not be a cheap and fast solution, to make the same result possible with DX12 in a shorter amount of time than in DX11.

No but, as you know, these days games are based on a handful of engines that are being reused.

This means there is going to be a big push to update these new engines to DX12. It's like a big investment done upfront. But that's not the end of the optimization phase. That's why games like Dragon Age are still built on the same Battlefield engine but require lots of specific work to actually run properly.

Every developer will pay first time, money and serious effort to make a DX12 back-end and I can guarantee you,making a crappy-back-end will costs more than saving anything, so it's not in the interested of any developer developing a bad DX12 renderer.
Another point why you shouldn't expect disappointing results are the consoles.
Every developer already has a modern design-approach for rendering their games.
With the Xbox One we have a console which uses the same technology and basically same API, like PC-Users will with DX12.

Yes, that's part of the problem. DX12, to do well, needs a lot of custom work. The kind of custom work that on PC is usually skipped because it costs more than it's worth.

That means that engines will be generally ported to DX12, but little work will go in actual game optimization that would bring consistent performance improvements. That takes time, and it's time that on PC has always been cut.

It's very likely that the first games that are both DX11 and 12 will show improvement SOLELY because the DX11 branch will have zero optimization as development time is pushed over to DX12. It's all smoke and mirrors.

If the DX12 engine requires lots more time because the devs have to code stuff that otherwise was done in the driver, then it means that time will be taken from optimization phases. That's what I'm saying. The faster technical speed of DX12 is being eaten by longer develop times that are subtracted from actual optimization.
 
DX12 needs a different rendering-design than DX11 and offloads many responsibility from the driver to the devs.

About this, whether it's drivers engineers or game devs to handle that, the GPU specific optimization that makes a game run better on a 970 than a 780 is stuff that takes time to code.

For the end user this changes nothing. Moving forward older hardware will do poorly. DX12 doesn't unlock "free performance" at no cost.

Actually the fact that this type of work is moved from drivers engineers to game devs is a guarantee that old hardware will do increasingly poorly.

SUMMARY:

"Hey, it took us 6 months longer to code the DX12 engine than it would if it was DX11."

"The game runs fine. Do we want to spend another two months on optimizations to make it run marginally better?"

" NOPE, RELEASE IT NOW!"
 
Did anything come of the rumors that the new mutli-GPU support would let you use your CPU's unused onboard GPU to give you standalone GPU a little extra oomph?
 
I just hope that upcoming PC releases will adopt DX12 ASAP.

MGSV, No Man's Sky, Star Wars Battlefront, etc.

Star Citizen, pc only game, will hopefully take advantage of it. If it doesn't...I'll stay Windows 7 for the foreseeable future.

I don't think Cloud Imperium has stated anything definitively yes or no.
 
Did anything come of the rumors that the new mutli-GPU support would let you use your CPU's unused onboard GPU to give you standalone GPU a little extra oomph?

From what I read its not a rumor, its one the multigpu rendering techniques, explicit mgpu rendering I think if you look up those articles. Unfortunately it's not something you can turn on, its completely up to the game developer, so we know how support for that is going to be...
 
[...]

This is how things work in practice, since the world isn't simply run by theoretical technology. What you expect from DX12 just WON'T HAPPEN.
That's just not very realistic.

What you are missing is the modern game development ecosystem, where engines are products which compete with one another. If e.g. Epic implements an effective low-level API path in UE4 (which they will, and soon), then you can bet that games will make use of it. And you can also bet that other engines will need to do the same, or get less attractive.
 
Star Citizen, pc only game, will hopefully take advantage of it. If it doesn't...I'll stay Windows 7 for the foreseeable future.

I don't think Cloud Imperium has stated anything definitively yes or no.

The have announced Vulkan and DX12 support (I am assuming Vulkan will superscede their mantle implementation).
 
That's just not very realistic.

What you are missing is the modern game development ecosystem, where engines are products which compete with one another. If e.g. Epic implements an effective low-level API path in UE4 (which they will, and soon), then you can bet that games will make use of it. And you can also bet that other engines will need to do the same, or get less attractive.

Don't forget that software engineers love to tinker with new stuff.
The thought of programming a universal app for Hololens make my fingers tingle with joy.
:p
 
I just hope that upcoming PC releases will adopt DX12 ASAP.

MGSV, No Man's Sky, Star Wars Battlefront, etc.

Non of the games You listed will be DX12, though maybe SW:Battlefront will get some kind of patch for basic DX12 support for CPU utilization like Mantle.
 
What you are missing is the modern game development ecosystem, where engines are products which compete with one another. If e.g. Epic implements an effective low-level API path in UE4 (which they will, and soon), then you can bet that games will make use of it. And you can also bet that other engines will need to do the same, or get less attractive.

That's only the beginning of the process.

Arkham Knight was still based on UE3, this didn't prevent them to fuck it up despite it's a so well known engine.

Optimization and actual good performance and smooth experience don't depend on the engine backbone, they depend on detail and actual fine-tuning. I'm simply saying that if DX12 actually increases dev costs, this will come at the expense of actual optimization, and so what you gain on one side you will lose on the other.

Going forward DX12 will bring useful innovations, but not in the form of better performance on current hardware. That's the false myth.
 
This is also now going to require the game developer to build in support for multi-gpu rendering as opposed to the IHV. So it is a wash, as not all developers will support it (thus not changing the situation from today). Those that do add support probably will use Split frame rendering.

90% of what DX12 offers is going to require the game developers to build it explicitly.
 
Not sure that would do any good for ArmA (3) considering how badly engine in threaded and barely uses anything outside of one core. Engine needs a lot rewrite, not just graphics renderer.

The engine is a mess, though it's the kind of mess is understandable: a super complete simulation done over 15 years of development.

Still, a start would be to separate the render system of the rest of the game, and then do a Dx12 renderer... which is what they are doing right now.
 
Nope. The first will probably be Ashes of the Singularity EA, and perhaps a few others will come this holiday season.

It's completely misleading. And also misattributed.
The larger DX11 gains in Win12 are mostly on AMD, and because they seem to have a different driver branch on that OS currently.

So far Ashes' DX12 demo refuses to launch (missing exe).
 
Optimization and actual good performance and smooth experience don't depend on the engine backbone, they depend on detail and actual fine-tuning.
I fundamentally disagree. One fucked-up example (or a handful of them) does not indicate the general case, just the exception.

Going forward DX12 will bring useful innovations, but not in the form of better performance on current hardware. That's the false myth.
This will be disproven shortly. There are absolutely a number of use cases (some of which I list in my article) for which DX12 will allow better and more consistent performance than possible with previous versions of the API.

The thought of programming a universal app for Hololens make my fingers tingle with joy.
:p
The thought of programming everything self-described as an "app" makes me recoil in disgust :P
Low-level APIs are pretty damn cool though. I'd like to port PtBi to Vulkan at some point.
 
This will be disproven shortly. There are absolutely a number of use cases (some of which I list in my article) for which DX12 will allow better and more consistent performance than possible with previous versions of the API.

I'm not denying this fact. I'm saying that the final product is a complex thing made of different parts. If DX12 objectively makes "part A" much faster it's going to mean that developers will put less work on overall optimization. Once it works at an acceptable level, they won't care to add weeks and months of work to gain an handful of FPS here and there.

And that is going to be worse for older hardware no one cares to optimize for: so the end-user won't see an improvement even if technically that improvement exists.

For a dev company the speed they gained due to hard tech improvement will be eaten then away by cutting corners somewhere else.
 
they won't care to add weeks and months of work to gain an handful of FPS here and there.

That's what most developers already don't do today. One of the reasons for that is that the api and the drivers takes a larger piece of the "optimizing pie" than they should. Last few years PC games, especially multi-platform games, tends to have been brute-forced through powerful hardware.
 
amd-dx12-crossfire-4.jpeg


Not really a promise but what I was reading about X12 was that SLI will be changed and that games will be rendered on those cards differently and eliminating a lot of problems of SLI.

Nifty chart and all but SLI is so fucked up these days... I'll stay clear away from it for future purchases, DX12 or not.
 
If you want a sober look at what low-level APIs really mean on PC, you can also read my article at PC Gamer, particularly its page 2.

It's a bit engineering-heavy I guess :P

So basically we are in a giant API war, and the big players are battling for proprietary solutions that will drive optimizations within their own environment or platforms. I see why MS could be seen as a theat if windows in the market bases catch all. It will be interesting to see how they all respond with win10
 
Nifty chart and all but SLI is so fucked up these days... I'll stay clear away from it for future purchases, DX12 or not.

I've actually had very few issues with SLI recent. That's until my move to Windows 10. Nvidia's newest Win 10 driver has introduced SLI issues in some games, some very serious ones.
 
Top Bottom