View RSS Feed

HiGame

ExtremeTech explains: What is DirectX 12? Enter DX12, 3DMark - DX12, OS and GPU support, and more

Rate this Entry
by , 01-02-2016 at 05:39 PM (1061 Views)
      
   


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.



3DMark – DX11



3DMark – DX12

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.

more...

Submit "ExtremeTech explains: What is DirectX 12? Enter DX12, 3DMark - DX12, OS and GPU support, and more" to Google Submit "ExtremeTech explains: What is DirectX 12? Enter DX12, 3DMark - DX12, OS and GPU support, and more" to del.icio.us Submit "ExtremeTech explains: What is DirectX 12? Enter DX12, 3DMark - DX12, OS and GPU support, and more" to Digg Submit "ExtremeTech explains: What is DirectX 12? Enter DX12, 3DMark - DX12, OS and GPU support, and more" to reddit

Tags: None Add / Edit Tags
Categories
Uncategorized

Comments