Yeah. To be fair, a few of them have, and probably could work even more magic if they weren't constrained in other ways.
We have a mixture of issues. I think that despite DX12 having been out for a long time now, forward looking development has been hindered by:
- Needing to support multiple generations of hardware with different levels of spec support even within the same API (last generation devices, older generation GPUs)
- Old engines not specifically built to take advantage of the new hardware capabilities the API exposes (engine updates take time, as well as integration)
- Developer experience with new API model and pipelines (, Lack of knowledge, too much past dependency on the drivers for optimization, having to train employees)
DX12 was created with great intentions. On paper, is sounded great, but in hindsight perhaps going from the DX11 model to the DX12 model was too much of a jump to take all at once and things would have been better if taken in smaller steps. However, outside of shader compilation, I feel like most of the AA and AAA studios out there have respectable DX12 renderers now. It's taken some of them a while to get there, but you have ones like Capcom and the RE Engine which are just frankly sublime. Most studios are now switched over and really beginning to put out new games with DX12 only.
Regarding potential, you can almost draw parallels between the "PC + SSD" dilemma where for the longest time we've had hardware far exceeding the potential that the current APIs and code could take advantage of, regardless of the amount of hardware power (CPU) you threw at it. The design of the old APIs just wasn't able to take advantage of the new hardware. For as long as SSDs have been out, were really just now seeing them beginning to make a difference in how games are designed and conceived from the ground up. That's an important thing to remember.
Otherwise, the real biggest issue, as I've stated multiple times, has more to do with QA than anything else. That's what I truly believe at this point. I'm not so much worried about micro optimization as I am performance in general.. which is to say that a game should perform reasonably. Not freezing, hitching, massively dropping frames for no apparent reason.
In the end, it's MUCH better that the onus is on the developers to be in control of.... and accountable for.... their apps performance. I believe what we're seeing right now, with issues of optimization, VRAM requirements, and shader compilation stuttering... is needed, to get things to a better place. People are no longer accepting these issues and are calling them out now.. far more than ever. It almost feels like PC gamers are FINALLY beginning to demand better... so if anything else, changing the mindset of PC gamers to expect better is a positive direction for the industry.
Sometimes you have to hit rock bottom before you get the motivation to improve.. I honestly think that's where we are now.