Last week, we informed you about NIXXES’ beliefs regarding Microsoft’s latest API, DX12. As NIXXES’ CEO claimed, DX12 is hard, it can be worth the extra effort, but it may also not be. And during this year’s GDC, another developer has also expressed how difficult it actually is to even get performance parity with DX11 under DX12.
Tiago Rodrigues, 3D programmer at Ubisoft Montreal, claimed that developers will most probably won’t be particularly satisfied with DX12 if they only care about raw performance, and that it takes a lot of effort to get a DX12 game up and running as fast as its DX11 counterpart.
“If you take the narrow view that you only care about raw performance you probably won’t be that satisfied with the amount of resources and effort it takes to even get to performance parity with DX11. I think you should look at it from a broader perspective and see it as a gateway to unlock access to new exposed features like async compute, multi GPU, shader model 6, etc.”
Ironically enough, DX12 was advertised as an API that – thanks to its low-level nature – would offer a better overall performance than DX11. However, it appears that developers will have to struggle and put a lot of effort in order to take advantage of it.
Thanks PCGamesN

John is the founder and Editor in Chief at DSOGaming. He is a PC gaming fan and highly supports the modding and indie communities. Before creating DSOGaming, John worked on numerous gaming websites. While he is a die-hard PC gamer, his gaming roots can be found on consoles. John loved – and still does – the 16-bit consoles, and considers SNES to be one of the best consoles. Still, the PC platform won him over consoles. That was mainly due to 3DFX and its iconic dedicated 3D accelerator graphics card, Voodoo 2. John has also written a higher degree thesis on the “The Evolution of PC graphics cards.”
Contact: Email
His mention of Shader Model 6 reminds me of a time when games refused to launch because I didn’t have a Shader Model 3.0 compatible graphic card… .. .fun times.
Shader model 6 support all AMD GCN cards (7xxx) and Nvidia Maxwell or above (9xx). Old graphics card such as Nvidia Kepler are not supported. https://uploads.disquscdn.com/images/a8e6ebcf516caab8e32df517d18fb5003538712106d050b16d07c631b15aa2c5.jpg
7xxx cards are Feature Level 11_1, so not all AMD GCN cards.
Fun times indeed. I remember the difference between HL 2 and HL 2 Episode 1. HDR made a notable difference.
Remember 3DA? I used that software to launch so many games
Considering this is Ubisoft we’re talking here who we all know care sooooo much about PC gaming… I’m actually not even surprised they would say that.
The beauty of low level API’s is that the optimization falls down on developers part, instead of the GPU vendors. And lo and behold, most devs aren’t willing to actually learn how to use the lower level API, be it DX12 or Vulkan. Is it because stubbornness or just pure laziness, I can’t tell.
I mean, Dolphin now supports both DX12 and Vulkan (it’s miles better than OpenGL, still a bit behind DX12, judging from playing Super Mario Sunshine and Sonic Colors with the 60 FPS hack at least), with great performance improvements. Let that sink in folks…
I mean it’s par for the course. There isn’t a developer that has really achieved parity with DX11 yet, I think it might take a few years.
was looking for this.
low level APIs remove draw calls count limitations, therefore high abstract cannot be really compared to low level APIs as high abstract could never overcome such a limitations.
So in scenarios where developers optimize game engine for certain number of draw calls DX12 doesn’t have to bring any significant performance boost. With that said there hasn’t been released any game that would really use that high number of draw calls, but we’ve often seen dramatic performance boost regardless of that fact.
I would not really mind what anyone from ubi has to say about PC optimization, not after current years.
DX12 is certainly not for everyone, but it is an option and in certain cases it is an option that has no substitution in high abstract API world.
IMO, DX12 could have saved Assassin’s Creed Unity.
Unity had very aggressive LOD to make sure number of draw calls would stay within a limits for dx11. It could benefit from dx12 but not as much in current state. Anvil engine has actually superb multithreading capabilities even in high abstract api.
Also if developers couldn’t make sure optimal gameplay without some very distracting bug, do you really thinkthink New papi would save a day? I do not think so. It would probably present even more bugs. Dx12 is New and therefore hard.
Well, besides all that, it’s true Unity would have benefitted from another month or two in the oven but it was still a pretty fun game, just that what they wanted to achieve was way beyond what hardware could achieve regarding pure number of draw calls. They should be trying to use DX12 to “remaster” Unity if anything else to get acquainted with it and what else could bring to the table for their games.
No, I know all that. Just mentioning that because of the sheer number of draw calls they implemented basically broke the engine. As I mentioned to Rodney, they should be implementing DX12 to Unity at least as an experiment and properly learn what can and what can’t be done with it.
I didn’t actually suggest for them to release it (it would be nice tho) but to work on it internally much like the Skyrim SE came to be, as an experiment.
About Scorpio… It’s possible but from what I’ve heard, it has the same GPU than the PS4 pro so if they can squeeze a game to run natively at 4k it can also be beneficial to PC.
DX12 was not available when Unity launched and it was too new when Syndicate launched.
Reality is, low level api means increased development time and therefore costs.
From business point of view, hard to blame them
you want that consumer cash and that polish, you better damn well work hard for it.
They do pretty nicely without extra work.
Their games always look great to be fair to them.
Not really, not with the low res textures being forced since current gen systems have to make constant compromises all the time, so a good chunk of that polish goes out the window, like it or not.
Please name better looking open world games?
Only one I can think of is horizon and that’s a console exclusive with own share of low resolution textures.
Dx12 isn’t going to fix texture resolution anyway.
Did I say DX 12 was going to fix texture res specifically?.
Also you’ve only named HZD and even then that game is limited to only what the OG PS4 can do, which itself is already limited.
Again, AAA games these days lack proper polish.
Wtf are you expecting?
Course they’re limited by the Base level of consoles. We get pc version with higher frame rates and better effects.
What you expecting, a whole new game for pc??
When has this been any different??
Delusional much???
If they aimed for higher than ps4 by much, a huge percentage of pc also wouldn’t be capable of running at 1080p 60fps anyway.
Then we’d get people crying poorly optimised.
I think you’re the delusional one tbh.
Good response, really well argued there. I can’t argue with logic like that.
Not like your logic was grounded from the start either, but hey you can stay in your little world all you like mate.
COme on, let’s have another typical retort reply, I know you’re itching to go for it, 99% of people on the net always come back that way.
Again failing to address any actual points or even failing to support your own, but yes, you’re so clever. i bow to your superior intellect and reasoning
As if you addressed any of mine outside of denial.
Nice to see you going with the same route that 99% of others take, keep it coming.
What point have you made exactly?
“you want that consumer cash and that polish, you better damn well work hard for it.”
“Not really, not with the low res textures being forced since current gen systems have to make constant compromises all the time, so a good chunk of that polish goes out the window, like it or not.”
These are your only two notable pearls of wisdom.
So your only point is that you believe low res textures are being forced on PC by consoles.
And whatta you know, the consoles actually increased resolution of textures due to their increased ram limits and even effectively brought about demise of 2 and 3 gb cards, but don’t let things like facts get in way
“These are your only two notable pearls of wisdom.”
Which you don’t think amount to any wisdom at all. In actually I was saying that if those devs wanted that cash, then they have to actually work hard for it. It doesn’t have to be the highest order of advice (because you seem to think that it has to be).
Low res textures are, but again you seem to disagree and think you’re right off the bat. Look at what current gen can handle and then look at what a high end PC can. I’ve seen countless mods over the years with Skyrim and other games that allow for high res textures, textures current gen cannot handle, yet you’d believe otherwise.
“don’t let things like facts get in the way” oh you, how naive you can be.
Ghost recon seems to scale across cpu pretty well, although the ac series has been awful through years at doing so.
The next Xbox will be Full DX12 so they will have to make game in it LOL
Who? Nobody? Because that’s who’s currently making Xbox exclusive games.
Nobody.
Thanks to Microsoft, of course, as usual.
Unless, of course, you’re back to that tired old argument about how “since DX works on both Windows & Xbox, developers will go for DX over Vulkan, because easier”? >.>
i don’t think we can just lump all of them together being lazy. the thing is they already busy with their own game. game got bigger and bigger content each year and yet game development time still the same as before or even worst was rushed by publisher so they can cash in their investment ASAP. now by going low level you’re giving more burden towards game developer. for console it’s fine since you have specific target hardware. but on pc even cards with same architecture need different optimization for things like async compute.
I wonder how much different Vulkan and DX12 are? Or rather how much more difficult they are from each other.
Developer that already has foundation of codebase build on directx is very unlikely to change that because there’s no reason.
Agreed, but that doesn’t answer my question.
just look at opengl vs direct x. i don’t think the complexity has change even with vulkan vs DX12.
This is BS, i will start to not buy dx11 titles anymore, they get the big money and still have problems, to me its all about nvidia pressure.
More the Metal more dificult it is. Its obvious, it takes time to get a good workflow with it, but the cell processors were very hard to cope with and still developers managed to get the goods of it.
Its hard but many things are hard in life, thats just the way it is, lazyness is a 21 century problem, even if they pay well.
You won’t be playing many games then. Why would you wanna use directx12 in games that support it? In many games it only casues more problems and crashes.
Because i support the evolution not stagnation.
Yeah, don’t play many titles, just the best ones, so no biggie.
Evolution are better graphics not something that average Jane Doe will never even think about
I would agree if DX12 was platform agnostic.
So long as Win10 will be a requirement, companies won’t massively migrate to it. They will keep patching DX12 code onto the existing DX11 layers which will end up in piss poor performance…
I don’t think so, scorpio and xbox one are here for it. Even porting ps4 to dx12 could be beneficial, but who knows…
Just looking at all the DX12 titles ported from Xbox to the PC ( even if done as an afterthought )… not thrilled 🙂
graphic evolution, is FAR from gameplay evolution. who really cares about a pretty turd?
Far?
DX12 is give you more horse power from your actual hardware. Developers can choose to bump up the graphics or make a better gameplay experience.
Gaming at 60 fps is a better gaming experience than 30, higher fps delivers better game experience in most cases.
They didn’t “take” mantle. They made their own version built off of DX11 and merged it with low-level features creating DX12. We just need to wait for new engine updates that change the code base from the ground up to support DX12.
It’s developers fault. You should know that based on your logo.
Who gives a f. Just optimize damn game, couldn’t care less if MSI Afterburner shows D3D12 or D3D11.
Same ****, just optimize damn games.
Can you show a different image for the headline? No one is excited and no one will be excited in the future for this :^)
It’s a meme case you haven’t figured it out xD
Pffft —__— … we’re talking about PC here guys. Most devs nowadays are
so focused on consoles that they don’t give a shi* about PC gamers. I’ve
already predicted this was going to happen since it will take time and
effort to use the benefits of a low-level API features like the feature that will let you use two different GPU’s like it’s on SLI/Crossfire. Devs nowadays are so accustomed to bringing shi* ports to PC that they won’t bother learning another method that will take more effort.
On the other hand, backend developers of emulators that are dedicated on bringing smoother game experience to their users show that DX12 do bring performance benefits. Typical Ubicrap bullshi* —__—
hahaha check doom using vulkan, ubisoft is one of the top companies that make poor unoptimized games which are DX11 they never made dx12 game yet , they’re the company that uses nvidia gameworks that f’ up performance , they’re the company which im sure when gameworks dx12 will release they’ll change their talk about dx12 , they’re the last one that have the right to talk about pc software
dx12 is hard they said, they have the largest number of studios and engineers a gaming company ever had , and considering they’ve been using low level apis to develop for PS4 & XONE which are similar to DX12, their “hard” mean the pc is not that profitable compared to consoles and you are lucky enough that we even bothering porting to pc
if dx12 was a console thing they would praise it to mars and back
spare me the bulls**t ubisoft, if you actually cared about pc gaming you would’ve used vulkan instead
even if many dev use vulkan don’t expect them to repeat the success IdTech did with Doom easily. there are certain feature inside vulkan that making the API better in low level stuff vs DX12 but this feature also the reason why many developer “try” not to use OpenGL in the first place.
and don’t compare low level on console vs low level on PC. console only have one specific hardware to target. but that’s not the case with pc. hitman dev mentioned stuff like async compute need to be tuned down to specific card (not just architecture specific) because each card have different compute to bandwidth ratio. the hard part is coming from the need to optimize for many compatible hardware out there. and some parts out there probably did not benefit from async at all despite capable of supporting async like AMD GCN 1.0.
i beg to differ
This is perhaps true for todays graphics engines, but not for future engines?
“The reason why we don’t see bigger performance boost in DX11->DX12 ports is that most engine code bases are designed around DX11 (DX9 roots). If you simply implement DX12 behind an existing graphics API wrapper, you will basically end up emulating the DX11 driver. That’s not going to bring magical performance boosts. You need to completely rewrite your whole resource management pipeline, including data streaming, loading, memory management, dynamic resources, etc. You need to implement logic to group draws in bundles (and cache them) instead of submitting lots of tiny new draw calls every frame. You need to use ExecuteIndirect when drawing lots of bulk objects with similar state (such as shadow maps). And you need to use bindless resources to reduce draw call counts (bindless makes all resources are available without binding -> resource changes don’t need draw call boundaries). None of the current DX12 PC games use bindless resources. The reason is that most engines are so tightly programmed around the old DX9/10/11 binding model. Changing that would require a major rewrite to the engine code base.
The biggest problem is: Major rewrite to support DX12 perfectly (bindless and all) would make the code base incompatible with the old DX9/DX11 binding and resource management model. Dropping DX11 support is not an option for most developers, as Windows 7 is still so widely used. Vulkan (supporting Windows 7) might be the black horse, allowing developers to move faster to these radically new rendering engine designs. As soon as we get fully featured robust HLSL -> SPIR-V compiler (it is bound to happen), there is nothing preventing studios in dropping the legacy DX11 support. That’s when we see big changes. IMHO Microsoft made a big mistake when they decided to limit DX12 to Windows 10. Many developers would have already dropped DX11 (in favor of DX12) if DX12 supported Windows 7.”
– Sebastion Aaltonen, RedLynx Lead Programmer
PC gamers love Windows 7 – steam survey: https://uploads.disquscdn.com/images/b9eef04214c6be70db50939e5b1a2c20e3d63b0f9b2f3edef43dd3fee7c54cbb.jpg
haven’t used windows 7 at the house in 4 years.
7 is actually climbing while 10 and 8 are losing some numbers.
AmigaBot is now pro-Windows 7?
I’m confused.
So, DirectX 12 is not only Windows 10 exclusive, but because of its Windows 10 exclusivity, it can’t even be properly implemented into a game engine, assuming the developers wanted to go that far in the first place, because that would require them to sacrifice all of their legacy support?
Wow.
Talk about dumb moves. Good job, Microsoft.
DX 12 was supposed to be our savior, to make games run better and faster. If its so much harder to use, then what is the point? MS failed once again..
Basically, DX 12 arrived that bit later and screwed things for all of us.
still the game engine did not optimize for each hardware out there. developer still need to do the optimization themselves. that’s the problem with low level API.
Go from dx11 to Vulkan then or just stick with dx11 forcing ms to make dx12 work with win 7 and 8.1
this. people see gain with doom and then assume every vulkan game can be like that with much less effort.
The more “low-level” an API, the more work there is for developers.
Maybe try harder?.
When you say “it’s hard” in the game design business then you’re either not trying hard enough or you haven’t found another viable solution to make things easier for yourself.
AMEN! Too often we give devs a “free ride” when it comes to optimization and put all the weight on APIs and Hardware manufacturers. Maybe they should push through and persevere. How many time do we look at some games , using the same set of tools, and say ” wow! I wish all games looked like this. Why don’t they?”. It is a testament to that devs skill at using the tool set.
LOL at headline image…
This is the same complaint devs had with playstation.. Once and if they figure things out and get engines behind the low level api… It will work. Looks like we are in the same position now as comsole gamers.. I smell a TON of ports.
You can if you want, Gears of War 4 is the most perfect DX12 game, it has tons of user configurations that describes how it effects the VRAM, GPU and CPU and it one of few games that runs like a dream, I had 50FPS on ULTRA settings native 4K on GTX1080, not many modern games can do the same, quantum break (both versions) cant even push 1440/60 on Ultra without upscaling tuned on.
can we get comment from Dice? i want to know what their take on DX12 vs DX11.
DX12 was something Microsoft pulled out of their A$$ in desperation when AMD pushed out Mantle. In other words, DX12 was a fail to begin with.
Yeah right,Ubisoft.
When nVidia will unlock-release Volta,then game devs will be much happy to release DX12 games for nVidia new cards.
Untill then,lets stay with old DX11 games for the sake of Nvidia loved single-thread architecture,shall we?
Why don’t you go with Vulkan,Ubifail? Its hard to learn or you are too lazy?
Keep in mind that this is Ubisoft we’re talking about, here.