What does this mean for gamers?
Given all the clear technical advantages outlined on the previous page, you might get the impression that current high-level APIs are a massive waste of resources, and that DirectX 12 and similar low-level APIs will immediately boost PC game performance to entirely new heights. While it is certainly possible to construct scenarios where that is exactly what will happen, in many common cases the benefits could be minor or even unnoticeable.
The most significant improvements to be expected from these changes are primarily reducing CPU overhead and improving parallelization. In turn, this means that performance in situations which were not CPU limited with previous APIs will not change much. In many games and genres, particularly on PCs with fast CPUs, the most noticeable effect could well be a decrease in CPU usage and power consumption.
That is not to say there is nothing to get excited about from a gamer’s perspective. While the average cinematic third person shooter on a decent desktop CPU will remain mostly unaffected, there are plenty of use cases which should benefit.
Detailed, highly interactive open world games or large-scale strategy titles with lots of moving parts are commonly CPU-limited in at least some scenarios even on higher-end systems.
High-framerate gaming is becoming more and more popular, and even if you have the requisite GPU power and monitor technology to push 144 FPS, in many games you will run into CPU overhead limitations long before that.
An interesting and often overlooked case is emulation—particularly projects like Xenia which seek to emulate more recent systems should benefit greatly from lower-level access allowing them to more directly model the behavior of the emulated hardware.
Somewhat similarly, it might benefit console porting efforts to have a target available on PC which is closer in terms of API abstraction to their original platform.
Finally, rendering for virtual reality has extremely stringent frame latency and consistency requirements which will be better served by a low-level API.
In addition to these situations in which a clear overall performance benefit can be expected, performance consistency should improve in almost all games. As developer Dan Baker of Oxide Games put it when we talked about DX12, “We also see huge benefits in frame consistency, to the point where we believe it is possible to ‘never hitch’ in D3D12 if we are appropriately mastering the API.”
I consider that a very exciting prospect, especially given the stuttering issues which plague some recent high-profile games.
Conclusion
With DirectX 12 on Windows 10, low-level hardware-agnostic graphics access is now a reality on PC—and it won’t be long before it is joined by Vulkan, an alternative which isn’t bound to Microsoft’s platforms. With a set of significant changes to how programs interact with 3D hardware, these APIs offer an opportunity to create games which scale better to higher degrees of hardware parallelism, and offer more consistent performance. Reducing the size of the API and the responsibilities of drivers should also eliminate AAA titles’ reliance on day-one driver updates for compatibility and performance, and make the PC an even more stable and versatile gaming platform overall. And to top it off, the vast majority of these advantages are independent of new hardware features and can be leveraged with most existing DX11 GPUs.
Does this mean that you should immediately drop everything and upgrade to Windows 10, expecting large improvements for gaming? Not really. The first games offering DX12 support are expected to arrive during the holiday season, and those will very likely still be made with also supporting high-level APIs in mind. Furthermore, how the performance impact of low-level APIs truly plays out will always depend on many factors, including CPU performance, the type of workload a game features, and the target framerate.
However, what DX12 and other low-level graphics APIs provide most of all is a long-term perspective of increased performance, better support for current and future hardware trends, more predictable and consistent frame delivery, and more solid software engineering in drivers and games alike.
This article benefited greatly from information provided by Dan Baker of Oxide Games, who has worked with low level APIs on PC since Mantle was created, and is an early adopter of DX12. If you spot any technical errors, they are most certainly mine and not his.