The Doom reboot was released two months ago now and in that time a lot has happened in the world of graphics cards. Namely, we’ve seen the release of Nvidia’s high-end Pascal GPUs and more recently the arrival of the mainstream Radeon RX 480 from AMD.
Upon release Doom supported OpenGL making it a rare title indeed – today nearly all games use some form of DirectX. However, it was Doom’s claimed support for the Vulkan API that generated the most buzz. We were told Vulkan would be patched in at a later date though it was demonstrated running on Nvidia’s GTX 1080 at their press day in Texas on May the 6th.
Since then I’ve been waiting eagerly for the day when I open up Steam and finally see Doom being patched up to support Vulkan. Well yesterday was that day! Monday morning, I fired up Steam to find a Doom patch that enabled support for Vulkan, hell yeah!
Many of you are probably aware that Doom isn’t the first game to support Vulkan. Rather The Talos Principle was the first game to support Vulkan, followed by Dota 2 in May. That said, Doom’s the first triple A title to use Vulkan and as a fast paced first person shooter it’s an interesting pairing.
So we can assume id Software has been working with Nvidia on Doom’s Vulkan support, but what about little old AMD? Well the developer says it has worked with both Nvidia and AMD on a daily basis since late March to bring full Doom and Vulkan driver support to the community.
Like DirectX 12, Vulkan is a low-level application programming interface. However, while DX12 is the successor of DX11, Vulkan is the successor of OpenGL, a dated API created by Silicon Graphics way back in 1992. The Khronos Group obtained the standard in 2006 and has been working on its successor ever since.
As a low-level API Vulkan gives developers direct access to the GPU and offers more efficient multi-threading capabilities. For the end-user, this translates to better overall performance and in the case of Doom, it will allow those with older video cards to run the game at much more acceptable frame rates.
That being the case I’ll be comparing all the current generation and most of the previous generation AMD and Nvidia GPUs in Doom using OpenGL and Vulkan. I’ll also be running a few old GPUs as well to see what the benefits are for those using legacy hardware.
To enable Vulkan in Doom, simply navigate to the advanced settings menu and switch the Graphics API from OpenGL to Vulkan. The game then resets, exiting and then re-loading as the changes are being made.
Before I jump into the benchmarks here are a few quick notes. All tests were conducted using my GPU test rig which is built inside the Corsair Carbide 600C with an Intel Core i7-6700K clocked and locked at 4.5GHz. For a full list of the system specs please check the video description, you’ll also find a detailed video index there as well. As always I’m using reference AMD and Nvidia graphics cards unless otherwise specified…
Okay so first let’s take a quick look at how all these current and previous generation GPUs compare using OpenGL at 1080p. Using the Nightmare quality settings along with TSSAA we see that the Nano and Fury X struggle against the likes of the GTX 970… not something you would expect to see. Likewise, the GTX 960 outpaces the R9 380 comfortably.
Now with Vulkan enabled I’ve resorted the graph from fastest to slowest and we see quite a different line up. The GTX 980 for example went from the 4th fastest graphics card when using OpenGL to the 4th slowest with Vulkan. This is down to the fact that the GTX 980’s performance was boosted by just 3.5% while the R9 390, for example, found an extra 51%, which is actually incredible.
Even the new affordable RX 480 is able to outpace the GTX 980 when using Vulkan, rendering an impressive 121 fps on average. Another big shock is the R9 380, which went from 53fps to 85fps; a massive 60% jump in performance. At the top of the AMD food chain we find the Fury X enjoying what is also a massive 52% increase in performance. This is an incredible result for AMD as it means the Fury X is actually 8% faster than the GTX 1070 and just 14% slower than the GTX 1080.
Moving up to 1440p let’s first take a quick look at the OpenGL results. Again we see the Nano struggles against the GTX 970 while the Fury X is only able to match the GTX 980. The GTX 960 easily beats the R9 380 as well, while the 390, 390X and RX 480 are all slower than the GTX 970.
Resorting the graph according to the performance found when testing with Vulkan we again find a very different picture – a picture that looks mighty encouraging for the red team. Although the Fury X wasn’t able to beat the 1070, this time it was just a single frame slower whereas it was 18 fps slower using OpenGL. Meanwhile the GTX 980 is beaten by the RX 480, albeit by a single frame although you’ll also find the 390 and 390X delivering even greater performance. Towards the bottom of the graph the R9 380 can be found enjoying another 60% performance boost, courtesy of Vulkan.
Finally, at 4K here are the results arranged by the OpenGL performance. The GTX 980 is again able to match and even beat the Fury X by a single frame here. The GTX 960 is 2fps faster than the R9 380 while the GTX 970 was 1-2fps faster than the R9 390 and RX 480.
At 4K we find virtually no difference between using OpenGL and Vulkan with the Maxwell and Pascal GPUs. The GTX 1070 for example averaged 53 fps using both APIs. The Fury X however was 40% faster at 4K when using Vulkan, allowing for a huge jump from 37 fps to a very playable 52 fps. This jump also placed the Fury X on par with Nvidia’s 980 Ti and 1070.
Noteworthy gains can be seen when looking at the recently released RX 480, where we went from a dicey 31 fps using OpenGL to a much smoother 42 fps with Vulkan. The R9 390 and Nano also saw similar gains.
Incredibly, the R9 390X was just 2 fps slower than the GTX 1070 using Vulkan. I believe the 390X and 390 are doing so well here in relation to the Fury X and Nano due to the limited 4GB memory buffer of the HBM cards. The Fury X and Nano are certainly powerful enough to utilize more memory so this could be an issue at 4K using the TSSAA setting.
Before wrapping up the benchmarks I wanted to take a look at how some of the older AMD Radeon graphics cards benefited from Doom’s Vulkan support. What I found was graphics cards such as the Radeon HD 7970 and R9 280 didn’t receive much of a performance boost at all; in fact the gains were similar to what was seen with the Nvidia Maxwell and Pascal GPUs.
Initially I put this down to them being GCN 1st gen parts but the R7 370 debunked that with a massive 110% gain using Vulkan. The GCN 2nd gen R9 290 enjoyed a 46% performance boost and the R7 260X became 116% faster. I’m not willing to say that there aren’t gains for the 7970 and 280, I’ve seen some owners on forums claims big gains for these cards. Sadly though I wasn’t able to replicate those gains using my test system.
Performance Per Watt
Okay guys fasten your socks because they are about to be blown clean off. Previously we’ve seen that the RX 480 generally consumes more power than Nvidia’s previous generation Maxwell based GTX 970, and this is true for Doom using OpenGL. Here the RX 480 consumed almost 4 watts per frame, while the GTX 970 consumed just 3.2 watts per frame.
However, this is the sock blowing part – with Vulkan the story changes dramatically. The RX 480 now consumed just under 3 watts per frame while the GTX 970 consumes roughly the same amount of power that it did using OpenGL for 3.2 watts per frame. This makes the RX 480 considerably more efficient when using the Vulkan API and that’s big news for AMD.
We’ve seen how well AMD’s GCN architecture holds up in games such as Ashes of the Singularity and Hitman but these are in my opinion the most impressive results yet. Doom is a title that predominantly favored Nvidia hardware and this can still be seen when testing with OpenGL.
However with Vulkan the story changes completely and we’re now able to see the true potential of AMD’s GCN architecture. Seeing the Fury X able to match the GTX 1070 at 1440p and 4K was inspiring and it will no doubt have Radeon 300 series owner’s very excited.
Not only do the high-end AMD GPUs fair well but more importantly strong gains can be seen on the lower-end cards with GPUs such as the R9 380. It was also great seeing strong gains on truly low-end discrete GPUs such as the R7 370 and R7 260X. Oddly we didn’t see any real gains from the 7970 and 280 but this could have just been an early teething issue.
I expect there’ll be another update made to the game soon as we did encounter a few issues when testing. Often resolution changes would result in strange and inconsistent results, forcing the game to be closed after each setting change and then reloaded. There was also the occasional crash and this mostly impacted the green team. In fact I was unable to load the game using a GeForce 6 series GPU so there could be an Nvidia driver update in the works as well.
Thankfully we didn’t see the Nvidia GPUs performance going backwards like they do in Ashes of the Singularity using DX12. At times there were gains to be had, though they only appear under CPU limited scenarios such as the 1070 and 1080 at 1080p. That said some GeForce owners are reporting a decline in performance using Vulkan so I will continue to do some investigating with different hardware configurations.
On that note performance gains received when using the Vulkan API will vary depending on the CPU used. For example, a weak CPU with a strong GPU will see much larger gains than pairing a strong CPU such as the 6700K at 4.5GHz like we did with a strong GPU. By working closer to the metal Vulkan is able to bypass the CPU and feed the workload directly to the GPU, so where the CPU’s performance was once really important, it is much less so now.
Doom’s implementation of Vulkan is really exciting and if this is a sign of things to come, then the future looks very bright for AMD. It seems like we’ve been waiting forever for the GCN architecture to pay off… so could Doom’s Vulkan support mark the turn of the tide? Let me know what you think in the comments, I’m your host Matt as always and I’ll see you guys next time.