• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Why all AAA game developer are using DX12 instead of DX11, because DX11 is automatic, high level, less responsibility.

Why all AAA game developer are using DX12 instead of DX11, because DX11 is automatic, high level, less responsibility.

Well i do not see any benefit of DX12 as of yet, where from DX9 to DX11 it was a game changer. Coming to Ray Tracing, nearly 0.1 PC gamer use this feature as of now.

DX12 requires more work, more responsibility, more man power, and more learning, which is why most of port you see in 2023 are garbage at launch and after 3 to 4 months it is average.

DX11 Port's did not had these issues because Nvidia and AMD driver solved most of the issues due to high level API, however, in DX12 or Vulkan, it is all about porting and how it is manage.

To me Only Nixxes and MS Game Developers knows how to port DX12 games.
 

feynoob

Banned
Because DX12 is more than DX11.
Explaining Fran Healy GIF by Travis
 

Hugare

Member
Dat Nvidia moneyhat, tho

Even if you are making "Bus Driver Simulador 2023", Nvidia will pay you some to add RT reflections and DLSS into your game

I agree. With the exception of RT features and DLSS, DX 11 games are usually much better. See The Witcher DX 11 vs DX 12.

I would easily trade some RT reflections and DLSS for better performing games
 

EverydayBeast

thinks Halo Infinite is a new graphical benchmark
AAA games comes down to thinking of the fans not the tech geeks. All because one guy wants dxx ray tracing direct x doesn’t mean you screw over the other 99% of fans.
 

Bojji

Member
It's true that DX12 is showing that many developers aren't that great in handling PC versions of their games but this transition took years. DX12 was released in 2015 and only on last 2 years most games switched to this API.

DX12 should be at least as performant as dx11 but yeah, Nvidia did magic in their drivers previously and they can't right now so it isn't happening for most games...
 

Raonak

Banned
Because 11 is legitimately outdated software now.
From my understanding, 12 should have the same features as 11 and more. 12 is has more functionallity, more flexibility and will be supported for far longer.

The problem isn't 12, isn't that developers are doing more lower level programming, which is more efficient for fixed hardware but causes way more headaches for variable hardware.
The reason why they probably do use 12 is because it's easier to port to or from modern consoles.

Sure they could just go back to using higher level functionality like 11.
But it would probably take even longer for PC ports to come out then because then you'd need 2 different versions of the game.
 
Last edited:

M1chl

Currently Gif and Meme Champion
The fuck am I reading, why do even have new HW, when old feature set is alright. DX12 is finally something where custom solution can flourish, under DX11 not really.
 

HL3.exe

Member
Quick and dirty answer: it because of multicore CPU's and how to utilize them in runtime code. (So mostly video games). DX9 up to 11 had problems utilizing more than 4 threads, because game-logic running on more threads is incredibly difficult because of deterministic dependencies. That's why every game uses one main thread and separate jobs over multiple threads and brings them back to the main thread to sync them up, but separating these is tricky and per game different. And separating them badly causes stalling which slows down performance.

That's where Vulkan and DX12 come in and give the opportunity for devs to have more low-level access to the API layers and customize it proper for their game. But this created issues for devs that aren't well equipped for this low-level access. So that's why DX12 is a blessing and a curse. DX12 (and Vulkan) can be leagues more powerful than DX11 in the right hands.
 
Last edited:
Unfortunately, DX12 is one number higher than DX11 and game devs feel like they have to use it or their game will not be seen as cutting edge. This is a big problem with AAA games where they already have hundreds or even thousands of people working on something for 4-5 years targeting the fixed hardware of consoles, how exactly do they find the time to optimize well for PC DX12 which requires much more low level knowledge than DX11?
 
Why all AAA game developer are using DX12 instead of DX11, because DX11 is automatic, high level, less responsibility.

Well i do not see any benefit of DX12 as of yet, where from DX9 to DX11 it was a game changer. Coming to Ray Tracing, nearly 0.1 PC gamer use this feature as of now.

DX12 requires more work, more responsibility, more man power, and more learning, which is why most of port you see in 2023 are garbage at launch and after 3 to 4 months it is average.

DX11 Port's did not had these issues because Nvidia and AMD driver solved most of the issues due to high level API, however, in DX12 or Vulkan, it is all about porting and how it is manage.

To me Only Nixxes and MS Game Developers knows how to port DX12 games.
Asobo knows their way around DX12, after working on Flight Sim so much.
 

analog_future

Resident Crybaby
Why all AAA game developer are using DX12 instead of DX11, because DX11 is automatic, high level, less responsibility.

Dat Nvidia moneyhat, tho

Even if you are making "Bus Driver Simulador 2023", Nvidia will pay you some to add RT reflections and DLSS into your game

I agree. With the exception of RT features and DLSS, DX 11 games are usually much better. See The Witcher DX 11 vs DX 12.

I would easily trade some RT reflections and DLSS for better performing games

Sometimes I forget that most of GAF have literally zero understanding of game development.
 
Quick and dirty answer: it because of multicore CPU's and how to utilize them in runtime code. (So mostly video games). DX9 up to 11 had problems utilizing more than 4 threads, because game-logic running on more threads is incredibly difficult because of deterministic dependencies. That's why every game uses one main thread and separate jobs over multiple threads and brings them back to the main thread to sync them up, but separating these is tricky and per game different. And separating them badly causes stalling which slows down performance.

That's where Vulkan and DX12 come along and give the opportunity for devs to have more low-level access to the API layers and customize it proper. But this created issues for devs that aren't well equipped for this low-level access. So that's why DX12 is a blessing and a curse.
I wrote a thread saying how the years that Sony's devs had to work on the PS3, and work out how to parallel program all those SPEs to get the best results, made them into some of the best devs today. The biggest issue for devs and game engines today is CPU optimisation, and this is where the PS first party guys are on point.
 

Laptop1991

Member
DX 12 is not the jump forward over 11 that DX11 was over 9 and 10 though, i've seen game comparison videos where the fps is basically the same and upgrades like The Witcher 3 are causing more problems than they should, on the Steam forum's the advice is to play the DX 11 version, DX 12 should be a lot better than it is currently for me. i'll play games with Vulkan just as easy.
 
Last edited:

mckmas8808

Mckmaster uses MasterCard to buy Slave drives
Quick and dirty answer: it because of multicore CPU's and how to utilize them in runtime code. (So mostly video games). DX9 up to 11 had problems utilizing more than 4 threads, because game-logic running on more threads is incredibly difficult because of deterministic dependencies. That's why every game uses one main thread and separate jobs over multiple threads and brings them back to the main thread to sync them up, but separating these is tricky and per game different. And separating them badly causes stalling which slows down performance.

That's where Vulkan and DX12 come in and give the opportunity for devs to have more low-level access to the API layers and customize it proper for their game. But this created issues for devs that aren't well equipped for this low-level access. So that's why DX12 is a blessing and a curse. DX12 (and Vulkan) can be leagues more powerful than DX11 in the right hands.

Shouldn't this have been solved during the PS4 era?
 

phant0m

Member
fuck DX46867, why aren't more dev using Vulkan

Doom Eternal still looks NICE and runs even better (yes i know this is more idtech than vulkan, but still.... doesn't have the stuttering problems on a lot of dx12 games)
 
Last edited:

01011001

Banned
fuck DX46867, why aren't more dev using Vulkan

Doom Eternal still looks NICE and runs even better (yes i know this is more idtech than vulkan, but still.... doesn't have the stuttering problems on a lot of dx12 games)

Vulkan and DX12 are almost identical in nature. Vulkan is simply designed to be platform agnostic.
don't you find it curious that early DX12 games never had shader stutters? ain't that weird?

the issues early on for DX12 was usually slightly lower performance due to bad optimisation, but it meant maybe a slightly lower average framerate and that's it. those were the biggest issues games on DX12 had at the beginning, and that was due to terrible CPU utilisation.

this whole set of modern PC game issues is only a recent development. most likely due to A: the lack of in-house technology, and B: a lack of talent and or passion.
you don't hear about issues on Vulkan because noone actually uses it. and games that aren't made by iD often had stability issues on Vulkan. crashes, super bad (non shader related) frame spikes etc.

and UE4/5 is by far the biggest issue in modern gaming. UE is such a trainwreck it seems, that not even Epic can use it properly.
it also shows us that shader stutters are not a DX12 issue. it might be worse under DX12, but UE4/5 has massive amounts of shader stutters no matter the API.

here is a youtube video showing Fortnite running on relatively low settings in DX11 mode, and anyone who played Fortnite in the last 3 years will tell you how bad it is every time your cache gets cleared due to a game or driver update.


Fortnite even offers a so called "Performance Renderer", which is running on a modified DX11, and uses the lowest asset quality that was originally designed for Mobile Hardware.
AND EVEN THAT MODE HAS SHADER STUTTERS! it has by far the least amount, but they're still there for 1 or 2 matches
 
Last edited:

Black_Stride

do not tempt fate do not contrain Wonder Woman's thighs do not do not
fuck DX46867, why aren't more dev using Vulkan

Doom Eternal still looks NICE and runs even better (yes i know this is more idtech than vulkan, but still.... doesn't have the stuttering problems on a lot of dx12 games)

The issues devs have with DX12 would still be present with Vulkan.
They are both low level APIs, its "just" about fully understanding the API, Asobo and The Coalition are using DX12 just as well as id is using Vulkan.
 

Wildebeest

Member
Vulkan is fairly heavily used because Proton uses it for steamdeck. The first time I saw a modern shader compile stutter was in Proton for Linux.
 

winjer

Gold Member
The issues devs have with DX12 would still be present with Vulkan.
They are both low level APIs, its "just" about fully understanding the API, Asobo and The Coalition are using DX12 just as well as id is using Vulkan.

Vulkan does have extensions to reduce hitches with shader compilation.
Something that DX12 does not.
 

Ev1L AuRoN

Member
Dx12 gives a more direct access to the hardware, allowing for better utilization of the resources, on the other hand the shaders need to be compiled to every combination of GPU/Driver.
I dunno why these shaders can't be distributed with updates though.
 

Bojji

Member
Dx12 gives a more direct access to the hardware, allowing for better utilization of the resources, on the other hand the shaders need to be compiled to every combination of GPU/Driver.
I dunno why these shaders can't be distributed with updates though.

I think shaders are build only for GPUs so in reality there is not that many variations. The worst part is that driver updated make them compile again.

There should be OPTION in every game to compile all shaders before launch or in real time if someone doesn't want to wait for whatever reason.
 

lh032

I cry about Xbox and hate PlayStation.
reminds me of people who prefer always online over offline game because "dont you have internet?"
 

diffusionx

Gold Member
Even if a dev honestly and truly believed DX11 was the way to go, using it would be a horrible idea because it's not supported by the vendor. It is deprecated and outdated software. The only thing they could really do is voice their concerns to the vendor and tell them their new shit sucks and make it more like the old stuff. And then MS decides if that concern is valid or not and how to work with them.
 

Puscifer

Member
Even if a dev honestly and truly believed DX11 was the way to go, using it would be a horrible idea because it's not supported by the vendor. It is deprecated and outdated software. The only thing they could really do is voice their concerns to the vendor and tell them their new shit sucks and make it more like the old stuff. And then MS decides if that concern is valid or not and how to work with them.
I just find it hilarious that all these developers whined about not having deep access to the kernel and whatnot for years, they finally get it and act like they don't know what to do to, ya can't make this shit up.
 

Dirk Benedict

Gold Member
Quick and dirty answer: it because of multicore CPU's and how to utilize them in runtime code. (So mostly video games). DX9 up to 11 had problems utilizing more than 4 threads, because game-logic running on more threads is incredibly difficult because of deterministic dependencies. That's why every game uses one main thread and separate jobs over multiple threads and brings them back to the main thread to sync them up, but separating these is tricky and per game different. And separating them badly causes stalling which slows down performance.

That's where Vulkan and DX12 come in and give the opportunity for devs to have more low-level access to the API layers and customize it proper for their game. But this created issues for devs that aren't well equipped for this low-level access. So that's why DX12 is a blessing and a curse. DX12 (and Vulkan) can be leagues more powerful than DX11 in the right hands.
YES. I remember reading, before the API was formally released, that it would give Developers that very ability! To get deeper into the hardware, like console Devs can.
 

Agent_4Seven

Tears of Nintendo
Hardly any devs actually used DX12 properly so far on PC. You just don't see the benefits performance-wise most of the time which should be there for DX12 only games. The same pretty much can be said about Game Bar and Direct Storage. PC is absolute shit platform when it comes to not only taking maximum advantage of hardware, but software and APIs as well.
 
Each transition to a new development platform, devs need to make a decision between new features/power and ease of use/familiarity. What happens over time is updates and creation of better tools to make working with the new hotness easier and faster, and eventually there is a technological improvement that necessitates a move beyond existing toolsets.
 

Black_Stride

do not tempt fate do not contrain Wonder Woman's thighs do not do not
I think shaders are build only for GPUs so in reality there is not that many variations. The worst part is that driver updated make them compile again.

There should be OPTION in every game to compile all shaders before launch or in real time if someone doesn't want to wait for whatever reason.

Not everyone is on the same driver version, so yes the number of permutations is actually massive.

Pre-Compile and Async Compile should be in every game though.
 

yurinka

Member
Devs prefer to support the newest, best version because it gives access to more stuff and specially will continue to be supported by a longer period of time. They prefer to be as future proof as possible.
 

CuNi

Member
Devs prefer to support the newest, best version because it gives access to more stuff and specially will continue to be supported by a longer period of time. They prefer to be as future proof as possible.

As much as I would love this to be true, having games get released in 2023 that most likely have physics tied to framerate kinda runs against this idea..
 
Top Bottom