Thursday 24 December 2015
ExtremeTech explains: What is DirectX 12?
Thursday 24 December 2015 by Unknown
It’s been over 18 months since we first visited the topic of DirectX 12 and what features and benefits it would bring to modern gaming. Much has happened since. Windows 10‘s launch and the debut of Ashes of the Singularity brought the first hints of DirectX 12 gaming performance, as did Fable Legends, which debuted some weeks later. We’ve also covered the work being done on Vulkan, the open-source, Linux-friendly DX12 competitor (now not expected to debut until 2016), how that software might impact the future of Valve and the company’s push for its own SteamOS, and the debut of DirectX 12 on the Xbox One as well.
From debates over the importance of asynchronous computing to confusion over exactly which feature sets are and aren’t supporting on current hardware, DirectX 12 was one of the most important stories we covered in 2015. This story will start you off on a discussion of its capabilities and advantages compared with DirectX 11, and if you want more nuance, feel free to consult the links above.
Enter DX12
Microsoft and Nvidia first took the lid of DirectX 12 at GDC 2014. The new API promised to deliver the same low-overhead benefits of AMD’s custom Mantle UI, along with vastly improved performance and superior hardware utilization compared with DirectX 11. Even better, DirectX 12 (and D3D 12) are backwards compatible with virtually every single GPU from the GTX 400 to the present day. At present, only Nvidia’s Kepler and Maxwell cards are DX12 compatible, but the company has promised that Fermi compatibility is coming in a future update.
Microsoft has published a blog post and accompanying API samples that illustrate how much more powerful the software is, while acknowledging some of the flaws in the DirectX 11 API. One of the central problems with DX11 is that it’s virtually impossible to multi-thread the 3D rendering path. Game rendering ends up running almost entirely on a single CPU thread, bogging down the rest of the system. DirectX 11 also makes certain assumptions about the underlying hardware that have proven to map poorly to GPUs from both AMD and Nvidia.
Here’s a threading comparison between DX11 (top) and DX12 (bottom):
See how, in DX11, the entire workload is hanging on a single thread with extremely low utilization on the other threads? That’s a problem — with the kernel-mode driver running on the same thread as the game and the D3D layer, there’s just not much for the other threads to do. The second graph shows how, by splitting the workload more evenly, the game can hit much lower latencies. Better latencies translates directly into higher frame rates.
This pair of screenshots from 3DMark 2012 further illustrate the difference. Total CPU time is dramatically reduced in DX12 by efficiently reallocating data across all cores.
OS and GPU support
DirectX 12 is currently supported on all Nvidia GPUs based on Kepler and Maxwell. That’s the vast majority of the 6xx series and all of the 7xx and 8xx graphics cards. Fermi support is coming soon, which will extend support all the way back to the 400 and 500-series as well.
AMD supports DirectX 12 on all GCN-class hardware dating back to the launch of that family in 2012. All AMD GPUs from the HD 77xx family (or above), the HD 85xx family (or above), and the Radeon R5 family (or above) all support DirectX 12. This includes the various iterations of GCN, from 1.0 – 1.2.
One thing to understand is that while DirectX 12 is a common API, that API has different optional features, defined as feature levels. AMD’s first-generation GCN products support DirectX 12 at the 11_1 feature level , as do Nvidia’s Fermi and Kepler cards. Cards based on Hawaii, Tonga, and Fiji support the 12_0 feature level. More information on this, and a comprehensive comparison between AMD, Nvidia, and Intel.
Windows 10 is the only operating system that supports DirectX 12, which means if you want in on these features you’ll need to take advantage of Microsoft’s free upgrade (or buy a new PC with W10 preloaded).
Tags:
Computer ,
software ,
Technology
This post was written by: Author Name
Author description goes here. Author description goes here. Follow him on Twitter
Get Updates
Subscribe to our e-mail newsletter to receive updates.
Related Articles
Subscribe to:
Post Comments (Atom)
0 Responses to “ExtremeTech explains: What is DirectX 12?”
Post a Comment