Following up on our DirectX post, this week we’re taking a look at the recently announced DirectX 12. Since DirectX is a collection of APIs, the newest version will actually be a set of updates and features rolled out individually rather than a monolithic new product. Besides ensuring that developers can ease into the new version, it means we can take a look at each new feature as details emerge.
The first update to be announced is Direct3D 12. Direct3D is responsible for rendering 3D elements, such as the graphics within many video games. 3D elements are notoriously intensive to render, requiring not only a fairly powerful CPU but often specialized hardware. Direct3D 12 utilizes many new approaches to make 3D rendering faster and more efficient than ever.
A unified pipeline state reduces overhead and maximizes draw calls. A descriptor heap utilizes the capabilities of modern hardware to allow the GPU to take direct control of resource description. Finally, a work submission model uses command lists to pre-compute GPU commands. These new features each reduce strain on hardware and allow software to more directly access that hardware, resulting in improved performance.
To measure all of these changes, Microsoft has used Futuremark’s 3DMark application as a benchmark, and the results are striking. First, multithread processors are used more efficiently, with work spread out more evenly across multiple threads. Second, CPU utilization is improved by a staggering 50 percent. Despite being far from full release, DirectX 12 already shows enormous strides over previous versions.
Performance improvements aren’t the only new benefit to DirectX 12. In a move sure to please cross-platform developers, Microsoft has announced that DirectX 12 will bring improvements not only to PC applications, but to those on Windows phones and the Xbox One. Even better, perhaps, is the announcement that DirectX 12 will run on current chips from Intel, AMD, Nvidia, and Qualcomm. Customers won’t need to upgrade their hardware to get the benefits of DirectX 12, which frees developers to use their existing expertise rather than learn the ins and outs of new product lines.
DirectX 12 isn’t even out yet and already holds the potential to dramatically enhance the development world. What do you hope to accomplish with DirectX 12? Let us know in the comments, on Twitter, or on Facebook.