AMD nails Nvidia on Doom Vulkan performance: 35% speed boost for free

Doom Vulkan

Red vs. green fight it out in Doom’s bloody FPS arena with the new open source graphics API and, fittingly, it’s a red team win.

Need a new shooter after getting your Doom fix? Check out our favourite FPS games of all time.

Over the weekend id put the finishing touches to their latest patch for the pleasingly shoot-tastic Doom, introducing the successor to OpenGL – Vulkan. We’ve put the latest AMD card, the Radeon RX 480, and its competing Nvidia compadre, the GTX 970, through their paces to see how the different GPUs tackle the new graphics API.

Like its OpenGL forebear Vulkan is an open source graphics API, which ought to make Linux, as well as the handful of SteamOS gamers out there, stand up and take notice. It’s also the only real direct competitor to Microsoft’s DirectX software and the natural evolution of AMD’s innovative Mantle API.

And like DirectX 12 and Mantle, Vulkan is a close-to-the-metal API, which means developers can take greater advantage of the full hardware performance of the PC. Normally that’s hidden behind layers of code abstraction designed to make it easier to run software on the varied hardware found in cross-platform gaming.

The issue with such APIs though is that it takes developers making the effort to fully implement Vulkan. Thankfully id are more than happy to go the extra mile, having historically supported open source graphics APIs via various iterations of their Tech engine.

“Vulkan is a modern API, with roots to AMD’s Mantle technology, and it provides real benefits to both us as developers and the large community of gamers using a wide range of hardware,” explained Robert Duffy, chief technical officer at id at this year’s Computex show in Taipei. “When you factor in additional AMD features, like true Asynchronous Compute, custom intrinsic instructions, and combine those with a raw speed of idTech 6, we believe the experience on AMD will be hard to beat.”

Making the switch to the Vulkan API is as simple as changing a single option in Doom’s graphics settings, but what does that mean for our games?

With Doom’s idTech6 game engine making better use of the hardware inside your PC the net result ought to be increased performance, slicker gory gibbing and happy gamey faces. However, it all comes down to how well the two GPU makers, Nvidia and AMD, support the new API.

So how do they do?

We’ve pitched the AMD RX 480, with its brand new Polaris architecture, against its closest mainstream rival, the GTX 970. In a way it’s a bit of an apples/oranges comparison as we’re taking a new GPU design, purpose built for close-to-the-metal APIs like Vulkan and DX12, and putting it up against an older architecture. But until Nvidia releases its GTX 1060 we don’t have a next-gen GPU rival for the AMD RX 480.

What our testing shows, however, is that AMD is way ahead of Nvidia right now in terms of its Vulkan support. At every resolution jump the Polaris card’s performance leapt up by around 35%. That’s a whole lot of extra performance, essentially for free.

The news isn’t so good on the Nvidia front though. Where the RX 480’s performance went up the GTX 970’s dropped. Not by a huge amount, but enough to make you not want to make the effort to make the switch to Vulkan if you’re a GeForce gamer.

What’s the issue then? It’s likely linked to the reason AMD’s cards are showing a big performance increase in the few DirectX 12 games we’ve been able to benchmark. The three pillars Vulkan adds to the latest Doom build are Asynchronous Shaders, Shader Intrinsic Functions and Frame Flip Optimisations.

AMD Polaris 10

The Asynchronous Shaders feature creates dynamic queuing of commands, allowing them to be ordered in a way which stops different parts of the GPU being held up while one specific job is being chewed through. AMD’s Polaris architecture has been designed with these features in mind, as a legacy of their Mantle API, with the Asynchronous Compute Engines in the Polaris silicon created to take full advantage.

The Shader Intrinsic Functions feature allows developers to get full access to GPU hardware, in the same way they’ve been able to access the static hardware in games consoles for years. The final feature means each completed frame is passed directly to the display once it’s ready.

Right now AMD’s Polaris architecture is taking the lead with both DirectX 12 and Vulkan APIs, leaving Nvidia’s hardware lagging a little behind. Will the new GTX 1060 be able to level up the playing field or is Pascal in trouble? With the Nvidia launch going down July 19, we’ll soon know how these two competing cards stack up against each other.