10 Things You Should Know about DirectX 12

By Loyd Case

Loyd lays down the essentials from Microsoft's DX12 announcement at GDC 2014.

It’s about efficiency, not new features

The new DirectX will add a few new rendering features, but those new features aren’t as important as efficiency. Direct3D 12 has a thinner abstraction layer between the operating system and the hardware. Game developers will have more control over how their code talks to graphics hardware. Overhead is reduced substantially. Time for threads to complete has been reduced by 2-5x in some cases.

Only Direct3D 12 has been discussed

Most gamers tend to think of Direct3D when DirectX is mentioned, and the focus of the recent announcement is indeed on D3D. There was no discussion of audio, game controller interfaces, Direct2D or other aspects of DirectX. Part of the reason for this early peak at DirectX 12 is that AMD’s Mantle, a direct-to-metal API with similar ambitions, was starting to get some traction. Microsoft no doubt worried that API fragmentation would return game development to the bad old days, where you wouldn’t be able to run any game on any graphics card.

DirectX 12 is now a console API

Direct3D 12 will run on the Xbox One. The execution environment has been described as “console-like,” which probably means the layers are thinner. This makes sense today, since most modern GPUs are really highly parallel and highly programmable. What this means for future versions of Windows is unknown, since Direct3D is the rendering API for Windows 8 and beyond. I hope Microsoft doesn’t “freeze” the Windows API at D3D 8. We’d once again be in a situation where application developers might end up using different APIs than game developers.

Mobile hardware will support DirectX 12

One of the hardware manufacturers present at the DirectX 12 discussion was Qualcomm, which is Microsoft’s main hardware partner for Windows Phone 8. Qualcomm’s GPUs will likely be DirectX 12 compatible. Other mobile GPU makers are already taking a look at supporting D3D 12, though none of them are on Windows Phone yet.

Photo credit: Flickr user mbiebusch via Creative Commons

Developers get more low level access

I mentioned this briefly in my point on efficiency, but it’s worth belaboring a bit. Microsoft is pledging to deliver a robust toolset that gives programmers low level access. The game (or other 3D app) can track the GPU pipeline status, controls state transitions and other low level functions. Shaders and pipeline states will be cached, which will minimize or eliminate shaders having to be compiled during gameplay.

Multiplatform support means better ports

Given that Direct3D 12 will run on mobile platforms and consoles (well, the Xbox One, anyway) as well as PCs, that means game programmers can focus on one API across multiple platforms. Completely cross platform games that run on Sony and Nintendo will still need extra work. But outside of first party games, it’s likely that game developers will write code on one platform, and compile/build for the rest. (It’s already been noted that the Forza demo shown at the D3D 12 event at GDC was running on Nvidia hardware, which means it was running on a PC.)

Gamers see benefits from the API even with non-DX12 games

Some of the efficiencies introduced in DirectX 12 are at a low enough level, that any games targeted for Direct3D 11 will probably run a little more smoothly.

DirectX 12 will run on your hardware (probably)

Today’s DirectX 11 capable GPUs will probably run DirectX 12. I don’t mean they’ll run on a D3D 12 game using a D3D 11 pipeline, but that most DX11 capable GPUs will actually run the new API. Nvidia noted that GPUs from the Fermi generation (GTX 4xx) and beyond will run DX12. AMD – committed only to GCN hardware presently, which means the most Radeon HD 7000 series cards and the new R-series GPUs. Intel committed to Haswell graphics support on day one.

New drivers will be needed for gamers to see those gains

This may seem obvious, but you’ll need new drivers. The neat thing is that it’s likely those drivers will be more lightweight and have less overhead than current graphics drivers.

DirectX 12 is more than a year away

Microsoft’s target date seems to be the 2015 holiday season, which is a good 15-18 months in the future. The real work is only beginning. So don’t worry about having to upgrade your hardware. There will almost certainly be new GPUs coming out. Nvidia’s already plugging the new Maxwell architecture as being “DirectX 12 native.” Right now, Direct3D 12 has no impact on your day-to-day gaming, and likely won’t for many more months.