It's not a huge surprise. But it is interesting. Microsoft has lifted the lid on its latest graphics API, DirectX 12. And the big news isn't a fancy new rendering technology. The big news is better performance. Just like AMD's Mantle API, DX12 promises to reduce CPU loads when playing games by as much as 50 per cent. Intriguingly, DX12 is coming to the Xbox One and phones, too. Which brings us to the really good bit. It looks likely your existing graphics card will be compatible with DX12. And that includes Nvidia GPUs...
For me the main thing to grasp about DX12 and that I alluded to in the intro is that it's a cross-platform API that majors on performance and efficiency. In the past, the big noise with a new DX API was usually some fancy new lighting effect or a clever new way to generate geometry.
But after almost every other part of the computing industry, it's DirectX's turn to be assimilated by the quest for mobility. So MS is talking about how DX12 will work across all Microsoft platforms including, "the lowest of smartphones, to game consoles, to the highest-end graphics cards."
The specifics of what DX12 does and how it does it are still emerging. It was unveiled a little earlier today at GDC, but there's already a helpful post on the MSDN blog. And an awful lot of it sounds very redolent of the things AMD said about its Mantle API.
Lower level hardware abstraction, improved multi-threading, reduced GPU overhead, yada yada. All very familiar.
The blog post pulls out a couple of examples. To quote, “3DMark on Direct3D 11 uses multi-threading extensively, however due to a combination of runtime and driver overhead, there is still significant idle time on each core. After porting the benchmark to use Direct3D 12, we see two major improvements – a 50 per cent improvement in CPU utilization, and better distribution of work among threads.”
50 per cent lower CPU overhead. Yikes. For the Forza Motorsport 5 Tech Demo, MS is talking about console-level efficiency on the PC. Again, shades of AMD's Mantle.
As to how all this is achieved, the spiel involves ye olde 'closer to the metal' which basically means code that's closer to running unmodified on your GPU as opposed to code that's abstracted through multiple languages.
The blog post breaks this down into multiple areas including pipeline state objects, command lists, descriptor heaps and more. Frankly, some of this is beyond my pay grade. I'm not in a position to confirm or deny the plausibility of the claims that have been released.
But it remains very significant that MS even thinks all the above is a good thing to be making claims about at all. It's also a timely reminder that the push for all things mobile often translates into tangible benefits for the core desktop gaming demographic.
Specifically I'm talking about this comment from the MSDN post:
“We think you’ll like this part: DirectX 12 will run on many of the cards gamers already have.”
Nvidia has been quick to say that DX12 will be compatible with all existing DX11-compliant GeForce GPUs. I haven't heard from AMD, but I'm going to guess something similar holds. At the very least I'm certain any AMD GCN graphics chip will be compatible. That's then architecture used in Xbox One, after all, which itself has AMD GCN graphics.
Actually, speaking of AMD, the really obvious question is how this will impact on AMD's Mantle technology. It seems certain that AMD would have known this DX12 announcement was coming, even as it pitched Mantle to world and dog. What to make of that?
No doubt AMD will comment on that shortly. But I suspect they'll say something along the lines of Mantle being even better, getting even closer to the metal. Which may well be true. But if DX12 is even nearly as good as MS is claiming, I very much doubt Mantle will gain significant traction.
Essentially, DX12 looks like it will give you most of the benefits of Mantle. But it will work on both AMD and Nvidia GPUs. If that's true, I can't see many game developers being too desperate to put the work in to support Mantle.
Re DX12 and Windows 7, if DX12 is any good, MS will surely see it as a way to push die-hard Windows 7 users onto to its latest OS, whatever that is at the time of DX12's launch.
Oh, and as for when DX12 will be released, the claim is 'holiday 2015' which I believe is American for very late in 2015.