DirectX 12 FAQ: All about Windows 10's supercharged graphics tech

24.07.2015
The Internet's been abuzz over the promise of Windows 10's underlying DirectX 12 gaming technology for months now. Drastically higher frame rates! Drastically lower power consumption! Drastically improved performance from AMD hardware! A--gasp--whole new era in PC gaming.

And all of it's true! Er, maybe.

With Windows 10 starting to grace PCs around the globe as part of Microsoft's staggered rollout, let's take the time to wrap our head around DirectX 12: What it really does, where you can find it, and most importantly, when you can begin tapping into its sweet, sweet "close to the metal" goodness.

What is DirectX 12

Let's start high-level. DirectX 12 is the newest version of Microsoft's DirectX application programming interface, which handles visual and other multimedia tasks on Windows-based systems. Most end users know it because a very large number of PC games lean on DirectX in some way for their graphical prowess.

DirectX is mostly associated with Windows, but because Microsoft's recent "Windows everywhere" push will spread Windows 10's core bits to virtually every Microsoft platform, DirectX 12 will appear on Windows 10 computers and tablets, Windows 10 Mobile phones, and even the Xbox One in due time. If your device runs Windows 10, it runs DirectX 12, basically.

Fun fact: The name "Xbox" derives from "DirectX Box." Not-so-fun fact: Microsoft hasn't announced plans to bring DirectX 12 to prior versions of Windows, so it looks like you'll need to upgrade to Windows 10 to get it. Good thing Windows 10's free for most people.

What's so special about DirectX 12

Short answer: It's going to make your PC games faster.

Long answer: The reason DirectX prevailed over the proprietary graphics API wars of yesteryear is its high level of hardware abstraction. The sheer volume of available components in the PC ecosystem is staggering, and that's before you even get into the intricacies of the potential system combinations with all those parts. DirectX 12 lets developers target its high-level APIs, which then handle all the nitty-gritty hardware compatibility details in the background.

DirectX 12 continues that, but it'll also give developers lower-level access to hardware if they want to additionally optimize their software. The API's highlight feature will essentially let games handle CPU utilization more efficiently, better balancing loads between multiple cores rather than dumping the bulk of the work on a single core. Games will also have reduced GPU overhead, and less overhead means more speed.

A new "Explicit Multiadapter" feature sounds just as exciting. Explicit Multiadapter lets software utilize multiple graphics processors inside a PC even if they aren't from the same vendor--allowing you to, say, tap into the graphics integrated on your Intel processor for specific graphics tasks while your GeForce GPU handles primary duties, or rock an AMD Radeon graphics card and an Nvidia GeForce graphics card in the same system.

Offloading a portion of each frame's rendering tasks to a secondary GPU can not only speed up frame rates, it can also help create a smoother gaming experience overall, as evidenced by Civilization: Beyond Earth's use of "split frame rendering" in CrossFire setups with AMD's Mantle API. (Traditional "Alternate Frame Rendering" for multi-card setups has each GPU alternate rendering a full frame--hence the name.)

Explicit Multiadapter sounds like PC gaming's Holy Grail, but it remains to be seen how widespread support for this fantastic feature extends, as developers will need do a lot of grunt work to make it work. PC Perspective has an excellent breakdown of this complex topic.

If you're the technical type, check out the DirectX 12 developer blog for more details about DirectX 12 in general, starting with the DirectX 12 announcement post.

This sounds pretty familiar

You're right: DirectX 12 sounds a lot like AMD's now-defunct Mantle API for Radeon graphics processors. Mantle did all of this long before Windows 10 was announced. After its release, AMD executives mused that Microsoft would likely never release DirectX 12, then bam! Microsoft announced DirectX 12, which basically apes all of Mantle's key features on a far wider range of hardware.

Will DirectX 12 actually make that big of a performance difference in my games

All signs point to yes. DirectX 12 can result in power savings or performance gains of 50 percent or more, according to Intel and Microsoft.

"This is like getting free hardware," Bryan Langley, a principal program manager for graphics with Microsoft, told PCWorld in March. "So if you're a gamer, and you upgrade to Windows 10, and you have that Iris Pro, it's like getting that extra kick. It may make your game go from not quite playable, to playable, from mediocre to awesome, from awesome to just out of this world."

AMD's Raja Kojuri also said DirectX 12 is like "getting four generations of hardware ahead" during the technology's unveiling in 2014. With the similar-to-DX12 Mantle enabled, Battlefield 4 saw performance leap by as much as 58 percent versus DirectX 11 results, though the exact amount varied greatly depending on the hardware setup.

You can kind-of-sort-of test DirectX 12's chops for yourself right now using 3DMark's "API Overhead feature test." Gordon Ung's walkthrough explains how to do that, but if you just want to get to the meat of the matter, DirectX 12's potential performance leap looks insane.

All that said, the most concrete DirectX 12 performance proof we have in hand right now are promises from industry vendors and results from a single, synthetic, theoretical benchmark focused solely on draw calls. There are a lot of reasons to be optimistic--heck, maybe even downright excited --about DX12's potential, but take it all with a pinch of salt until the first benchmarks from DirectX 12 games start appearing.

Will I need a new graphics card to play DirectX 12 games

Probably not.

DirectX 12 will work with most modern graphics cards. Any Radeon graphics card or APU built around AMD's Graphics Core Next Architecture--so the Radeon 7000 series, Radeon 8000 series, Radeon R200 series, Radeon R300 series, and the Fury and Fury X--will all play nice with DX12. That's basically every AMD graphics solution released since 2012.

Nvidia's DirectX 12 support goes back even further. All graphics cards powered by Nvidia's Maxwell, Kepler, or Fermi GPUs--so the GeForce GTX 900, 700, 600, 500, and 400 series--will work with DirectX 12. In fact, Nvidia's second-generation Maxwell cards (like the GTX 980 Ti) are the only graphics cards announced thus far to support DirectX 12's 12.1 feature level, which includes features like volume tiled resources and conservative rasterization.

Does that mean all other graphics cards don't support "full DirectX 12," as you'll see some folks claiming on forums and social media feeds Not really. It's complicated. If you want to get into the nitty-gritty, be sure to check out Joel Hruska's superb "Demystifying DirectX 12 support" at ExtremeTech.

As far as Intel goes, all fourth-generation (Haswell) or newer core processors will support DX12.

So wait, what if I run Linux or a Mac

You won't be able to run DirectX 12, full stop. That's nothing new, of course, as the six-year-old DirectX 11 is only expected to land on Linux later this year via a CodeWeavers workaround.

That doesn't mean you'll be left in the technological dust, however. The Khronos Group, the powerful industry consortium behind OpenGL, is toiling away on Vulkan, an open-source, platform-agnostic "closer to the metal" graphics API rising from the ashes of AMD's Mantle. And with Valve's Linux-powered Steam Machines set to launch in November, Vulkan and OpenGL are poised to make a bigger splash with PC gamers than ever before. Linux gaming is on the rise--so alternatives to DirectX are, too.

Windows 10 is out! DirectX 12 should make my games faster now, right

Not so fast. Yes, Windows 10 is out, and yes, DirectX 12 is baked into its very core, and yes, you may even see some performance increases in your games--but it won't be because of DirectX 12. At least not yet!

Software needs to be written specifically for DirectX 12 to take advantage of its features. While Futuremark's aforementioned 3DMark benchmarking suite already has a tool for testing DX12 draw call performance, the first DirectX 12 games aren't expected to hit the streets until the end of 2015. Remember how it took a while for DirectX 11 to become widely adopted after Windows 7's debut Crafting games takes a long time, especially when you're wrapping your mind around a new API with new features.

Patience, grasshopper. It'll be worth the wait.

(www.pcworld.com)

Brad Chacos