There is no meaningful difference on the GPU side with DX12 vs 11 other than the additional features and flexibility in 12. There's nothing super useful you can accomplish on the GPU with 11 that you can't do in a very 1:1 manner in 12 as well. When people talk about difficulties it is almost always with the CPU side.Dx11 can max out a gpu more than dx12.. the new api's features are propaganda
I also don't know that it's fair to characterize the (primarily CPU) issues with the modern APIs as a problem of "understanding the complexity". It's not that DX12 is too complicated for people to use optimally; perhaps this is an issue for hobbyists but not for big game engines. It's more that some of the changes in the abstraction layer actually made problems *more difficult* in a global sense (across both the app and driver) than they were in DX11 where the driver actually had a simpler problem to solve. In the pursuit of eliminating unpredictable driver thread compilation (which absolutely happened in DX11) in a supposedly "portable" way, we expanded the permutation space of shaders by several orders of magnitude to accommodate potential future GPU or driver needs, even if those will never actually happen. So while a game can indeed pick better points to do PSO creations than the driver could do in the past, it has so many more PSOs to deal with than the whole system ever did in DX11 that the downsides can sometimes outweigh the upsides.
Don't overreact here folks... the new APIs are clearly better overall and a lot of the changes were needed to support things like raytracing and evolved shader programming models and so on. Realize that when we're reflecting on unforeseen issues in the APIs we're doing it in a technical post mortem kind of manner, not trying to call out a single factor that accounts for various issues in modern games. There's no single factor at play here, there's a combination of many factors that folks have mentioned, both technical and management. The real story is always more complicated, nuanced and different from game to game.
Nanite uses mesh shaders for what it's worth... the reality is for stuff that is disruptive to content especially it takes a lot longer before it gains enough market penetration to be able to rely on it without having an infeasible number of paths. Hell it was already hard enough to draw a line at DX12 for Nanite/VSM let alone smaller features like those!No its not.. its the other features that are rarely used like mesh shaders sample feedback streaming that i.m talking about
Sampler feedback in particular has always had a pretty narrow window of utility in my opinion. It's addressing a problem that mostly doesn't exist... we've been using virtual texturing just fine for a long time without sampler feedback. Maybe in the far future when it's supported everywhere and there's only one path it will make more sense, but even the theoretical benefits in the best case are pretty marginal so it just doesn't really pass the cost/benefit test. I'm not sure why anyone is expecting anything important from this feature, nor why it was ever advertised to consumers...
Hey now, every other reply is complaining about HW raytracing. You can't have it both ways!No one is forcing devs to use DX12 either.