Last week, Blizzard released the pre-patch for World of Warcraft’s next expansion, Battle for Azeroth. One of the changes to the underlying game engine introduced by the new expansion is support for the DirectX 12 API and the removal of the earlier DX9 path. This is a major change for the game, particularly given the overall age of the engine, and we decided to take the title for a spin in both the DirectX 11 and DirectX 12 code bases using an AMD Vega 64 and Nvidia GeForce GTX 1080.
Moving to PvP in Seething Shore doesn’t really change the spread. Again, minimum frame rates for both AMD and Nvidia are better under DirectX 11. Nvidia has an overall lead in World of Warcraft under both APIs, though the gap isn’t enormous — about 9 percent, which is in line with previous comparisons between Vega 64 and the GTX 1080. But neither of these tests show a particular reason to use DX12 either, at least not with these cards and this current version of WoW.
It’s possible that lower-end CPUs would see different results in these tests. As we’ve discussed before, DirectX 12 doesn’t really help you recover much in the way of GPU performance, though features like asynchronous compute can improve GPU perf in certain ways if supported in hardware. The major advantage of low-overhead APIs and the place where we always saw them do the most good was when paired with low-power or weaker CPUs, not GPUs. Here, they can make a significant difference, sometimes cutting CPU utilization by 10-30 percent and allowing for corresponding improvements in power consumption or giving developers more flexibility. We’ve also seen some specific cases where AMD’s DirectX 12 performance has given it better competitive standing against Nvidia, though again, the shifts here tend to be on the smaller side.
But at least in WoW, for now, the message seems clear. If you have a higher-end CPU and reasonably new GPU, DirectX 11 is the better API. We’ve got an eye on the situation and will re-test and/or revisit this question if Blizzard makes any formal announcements about improving the newer API’s performance relative to the older one.