Microsoft reveals DirectX 12 - and it's coming to Xbox One
Forza Motorsport 5 already ported - and running on PC.
Update 21/3/14 07:30: Microsoft tells us the PC Forza demo "was simply a rendering tech demo to showcase the power and ease of development for DX12. We have no plans to release Forza Motorsport 5, or any other Microsoft Studios Xbox One title on PC." When asked about specific enhancements for Xbox One, Microsoft confirmed that DX12 was on the roadmap for the console, but "beyond that, we have nothing more to share."
Original Story: Microsoft has responded to the challenge laid down by AMD's Mantle, today revealing the first work on its new DirectX 12 API. PCs, tablets, smartphones and Xbox One will all benefit from the new technology, which promises to free up CPU resources while offering developers lower-level access and more control of graphics hardware. To demonstrate the cross-platform nature of DirectX 12, Forza Motorsport 5 was shown running on PC featuring an Nvidia graphics card.
While the broad feature-set of DX12 looks very much like a response to the Mantle initiative, Nvidia claims that it began discussions with Microsoft on the subject four years ago, with direct work on the API starting last year. Nvidia itself has provided an initial driver to allow developers to get to grips with the new technology. In theory, any DX11 graphics card should work with DX12 - Nvidia itself has confirmed that anything from the "Fermi" 400 series onwards should work.
The Forza 5 demo was the star of the presentation, designed to show how console-level efficiency is possible on the PC. Bizarrely, according to Nvidia, the demo ran on Titan Black hardware - the most powerful single-chip graphics card on the market, and possibly not quite the best hardware to demonstrate an efficient console port. According to Turn 10, the conversion from Xbox One's DX11.x API to an alpha version of DX12 took four man-months to achieve, with some features of the existing console API migrating across to PC, while other elements (thanks PC Perspective for the shot) - such as "pipeline state objects" and the "resource binding model" will make their way across to Xbox One.
So what are the key advantages here? Well, essentially, graphics hardware has become increasingly more powerful over the years, but it needs to be driven by the CPU, where single-core power hasn't increased massively and where multi-core processors aren't being used efficiently in feeding data and commands to the GPU. DX12 changes that in a manner that seems eerily similar to what we've seen with AMD's Mantle. To illustrate the reduced CPU burden, Microsoft ported across the 3DMark benchmark to DX12, where it showed anything up to a 50 per cent improvement.
"At a very basic level, DX12 appears to do much the same job as AMD's Mantle - it reduces CPU overhead and gives developers lower-level access to GPU hardware."
Quite how the DX12 advantage translates over to Xbox One remains to be seen. Our understanding of the existing DX11.x API used right now is that it is essentially a very close relative of the PC version, with additional extensions added that lever the ESRAM, Move Engines and other bespoke hardware within the new console. CPU time is a precious commodity on next-gen console, so efficiency savings there would be welcome but we suspect it's the lower-level hardware access that is key in getting higher levels of performance from the new console.
While Nvidia were prominent at the GDC reveal, luminaries from AMD, Intel and Qualcomm also turned up to Microsoft's presentation pledging support for the new API, which is projected to be supported in major games at the tail-end of 2015 - yes, well over a year from now (though some kind of early access is apparently in the works). If you're running a modern PC, you shouldn't have any trouble running DX12 on your hardware - the only question is whether Microsoft will roll out support for Windows 7, something it has failed to do for the latest DX11.2, which has been mostly ignored by game developers (bar DICE).
Overall it seems that Microsoft has finally responded to the demands of game developers in addressing some of the key concerns with DirectX 11, but with the long lead-time until the API actually ships, it's clear that AMD's Mantle has time to gather further support, while Valve will continue to champion OpenGL as the graphics API of choice. Up until recently, the future of DirectX was looking dicey - however, DX12 could nullify Mantle's relevance as it appears to do much the same job. Alternatively, if console development continues to dominate and Mantle proves its worth in other areas, we could well be looking at a dual API future, with PC versions based on Mantle derived from PS4 optimisations, alongside DX12 versions designed primarily with Xbox One in mind.