Microsoft took to the stage of the 2014 Game Developer’s Conference just four days ago to discuss DirectX 12, a new version of the DirectX API that has driven Windows’ domination over the computer market for over ten years. DirectX 12 will launch in 2015 and for the moment, developers will have access to a very early, very small part of the API as Microsoft learns how to use and tweak it for maximum impact and efficiency. DirectX 12 represents the biggest shift for Microsoft in a long time and has been in the works for over a year. Hit the jump to see it explained in a non-confusing way. Maybe.
Its still a very early play for Microsoft
The Youtube video above is a very sly recording of the DirectX 12 demonstration that Microsoft ran for journalists attending their session at GDC 2014, which the company expressly forbid and only allowed for liveblogging and for obvious reasons – this is Forza 5 running on a Nvidia Geforce GTX Titan Black at 1080p resolution and at 60 frames per second. Its a direct port of the game currently available on the Xbox One.
DirectX 12 is in a very early stage of its life. Chris Tector, Chief Developer at Turn 10 Studios, took to the stage briefly to discuss the process of porting Forza 5 to DirectX 12 and didn’t mention once if the game would ever come to the PC platform – it’s just a proof of concept at this point. Tector noted that porting a rendering engine from Xbox One’s DirectX 11 implementation to DirectX 12 took about four months for a four-man team, which matches up with the time scales for Eidos and DICE to port Thief and Battlefield 4 over to Mantle.
This is also similar to Ubisoft’s Ivory Tower record of six months with a three-man team to port The Crew over to PS4, complete with optimisations. So clearly, in the early stages of the relationship between consoles and the PC, not only are both platforms capable of running DirectX 12, but cross-compatibility is a big consideration for Microsoft as well.
According to Tector, many of the features that will be included in DirectX 12 are also currently present and working in the Xbox One, which uses AMD’s Graphics Core Next architecture. There’s support for rendering tricks which add no overhead to the workload and DirectX 12 has almost no driver overhead because the API is now dependant on Amdahl’s law for execution time owing to its multi-threaded nature.
Still, the fact that a GTX Titan Black is required to hit an average of 60 fps under DirectX 12 in its current state highlights that there’s still a lot more work to be done before Microsoft can sign off on it.
Release date ensures that new hardware will be needed
Microsoft is targeting a “Holiday 2015” release which would tie up nicely with a launch for Windows 9. Windows 9 will already include support for DirectX 11.1 and 11.2, both feature sets which already knock a lot of GPUs out of the game. DirectX 12, according to Microsoft at least, will cover 100% of new GPUs and GPU architectures coming out in the next 18 months leading up to its release and will target 50% of all PC Gamers.
Which effectively means that not only will Windows 9 be required for DirectX 12 functionality, Microsoft actually expects that most gamers will not move away from Windows 7 any time soon. 50% is actually quite optimistic because it looks like they’re assuming that gamers on Windows XP and Vista will jump over and those who already embraced Windows 8 will be more likely to make the leap as well. Its a high goal and one they probably won’t achieve given that many people shy away from Modern UI for the more familiar desktop interface of Windows 7.
Additionally, this means that anyone on the Radeon HD6000 and older families or the Geforce 200 series and older will miss out on all these improvements. Modern GPU architectures like GCN, Fermi, Kepler and Maxwell change things so radically that supporting any of the older families will be too expensive an exercise to undertake. Thanks to the modern hardware inside the Xbox One and PS4, we have a chance for a clean slate to change the way in which games are made and optimised for different platforms.
This wouldn’t have even been an option if we were to stick with PS3 and Xbox 360-class hardware as the lowest common denominator, even though both platforms will see their fair share of ports over the next few years while production winds down.
So the fact remains – to enjoy some of DirectX 12’s features properly, you need a GPU with the GCN, Intel Iris or Kepler architecture. And for full support, you’d need a GCN 2.0 or Geforce Maxwell GPU to take advantage of new hardware features.
Much bigger implications for mobile development
When Qualcomm got up on the stage to voice their support for DirectX 12 alongside Nvidia, Intel and AMD, things started making much more sense. Qualcomm has been a big partner with Microsoft over the years for their mobile phones and many Windows Phone 8 devices use Qualcomm hardware based on the ARM architecture. Efficient use of hardware doesn’t matter much in a desktop and matters much less in a notebook because those devices can be plugged into the wall and used normally. For mobile phones and tablets that isn’t possible and the hardware and software needs to be as efficient as possible in order to not drain the battery.
For Qualcomm, DirectX 12 means that they can extract much more efficiency from hardware because they can now use multiple cores to scale workloads better, they can see better overall performance for their hardware and there’s a scalability aspect to it as well, because DirectX 12 is also part of the “Build Once – Run Anywhere” train of thought whereby the same software will run on any compatible combination of hardware with varying loads able to maximise efficiency. In practice it might be a bit more involved than that, but the hardware cross-compatibility is there.
Interestingly, Qualcomm calls DirectX 12 a “clean” API, which means that for them it’s removed of all bloat and legacy code. So if you’re currently eyeing out a new Windows RT tablet or a Nokia Lumia device, know that your handset will probably never see anything higher than Windows 8.1 compatibility. This is also an issue for devices running older Nvidia Tegra hardware because the previous versions had hardware that was more akin to a mixture of Geforce G92 and Fermi architectures than anything more modern. Moving forward, though, Tegra K1 hardware will receive the same benefits as other mobile hardware.
So there we have it – a new API from Microsoft that mimics AMD’s Mantle and promises much of the same capability for a wider range of hardware, only this time you’ll have a to wait a long time for it to be properly released. In traditional Microsoft fashion it still requires a new OS, new hardware, developer support and won’t see much adoption for the first year. Hurray?
In the meantime, Mantle will see greater adoption from developers who use it to get ready for DirectX 12 and there will most certainly be huge strides in OpenGL games that will use the available extensions to improve performance. Either way, this discussion wouldn’t be taking place if AMD hadn’t stepped forward and revealed their plans for the gaming market with Mantle, so kudos to them. Now if only they’d make FreeSync and Dockport arrive on the market faster…