Advanced Micro Devices (NASDAQ:AMD) has fallen on extremely hard times. In the CPU market, the Intel juggernaut has only grown more dominant in recent years, continually stealing away market share and pushing AMD's PC chip business into the red. In the GPU market, NVIDIA has grown its market share substantially over the past year, shipping 77.5% of discrete GPU's during the first quarter.
With Windows 10 set to launch later this month, the biggest new feature for PC gaming is DirectX 12, Microsoft's new graphics API, the software that allows applications to access the graphics hardware. The biggest improvement that DirectX 12 brings to the table is a vast reduction in overhead, freeing the CPU from wasting time sending commands to the GPU, in part by fully utilizing every core of a multi-core CPU.
Because AMD's CPUs generally have worse single-threaded performance compared with Intel CPUs, DirectX 12 should provide some performance benefits for a PC powered by an AMD CPU or APU. And regardless of the configuration, any game where the CPU is the bottleneck should see improvements in performance.
How much of an improvement will gamers see? Well, according to an article on AMD's website, a massive one:
A factor of 16 increase in graphics throughput on AMD's Radeon GPUs sounds impressive, but this slide is a bit deceptive. It measures draw calls, which are commands sent to the GPU from the CPU to draw something. DirectX 12 greatly reduces the overhead involved with each draw call, allowing for this massive increase.
But the number of draw calls is not a measure of performance. The GPU can only draw so much stuff per frame, and what DirectX 12 does is ensure that the GPU will never be waiting for commands from the CPU. The typical way that game developers have dealt with draw call limitations in the past has been to batch objects into the same draw call, thus reducing the total number of draw calls.
DirectX 12 is very similar to Mantle, AMD's now-defunct graphics API, and it's obvious from Mantle benchmarks that real-world situations yield far smaller benefits for AMD's hardware. According to Techspot, using Mantle instead of DirectX 11 produced performance gains around 5% in most cases where a discrete graphics card was used. AMD's APUs, which have integrated graphics, produced bigger gains in some cases, but only because AMD's CPUs are so weak compared with Intel's to begin with.
The actual improvements in frame rates that DirectX 12 delivers will depend on the situation, and while reducing CPU overhead gives game developers extra CPU cycles to work with, performance is ultimately limited by the GPU itself. In situations where the CPU wasn't the bottleneck to begin with, performance gains will be minimal.
Not a game changer for AMD
There are certain cases where AMD's CPU will see major improvements in performance with DirectX 12. When the bottleneck is the CPU, the performance gap between AMD's and Intel's processors closes dramatically. Anandtech posted some benchmarks earlier this year that showed AMD's APUs neck-to-neck with Intel when running a very CPU-heavy test.
But in the real world, DirectX 12 doesn't save AMD from the fact that its CPUs are inferior to Intel's in terms of performance. And there's no reason to believe that DirectX 12 will give AMD's GPUs an advantage against NVIDIA, or vice versa. While some tests done by PC Perspective, and cited by AMD, suggests that AMD's R9 290X can deliver more draw calls per second compared to NVIDIA's GTX 980, that's not a meaningful measure of performance. The GTX 980 is substantially more powerful than the 290X, and DirectX 12 doesn't change that.
DirectX 12 is a great development for gamers, delivering a modest performance boost in most cases, and a large performance boost in certain cases. It's also great for developers, freeing them from having to deal with the draw call overhead that plagued DirectX 11. But it doesn't change AMD's competitive position in the CPU or GPU markets. DirectX 12 is no game changer for AMD.