While Microsoft’s DirectX 12 may have been the first low-level API to appear on PC (with the exception of AMD’s own Mantle API), its arch-rival Vulkan is potentially more interesting. Vulkan promises to be more widely adopted, thanks to support for Windows, Linux, and Android, and companies like Valve and Epic are firmly behind its development.
Now that Vulkan is at version 1.0 and drivers from Nvidia and AMD are available, we can finally take a shot at answering the big questions: Can Vulkan live up to all the low-level API hype? And will AMD see the same huge performance gains seen in early DirectX 12 benchmarks?
But first some caveats: The Talos Principle is technically the first game with Vulkan support, but it is in beta testing. The Talos Principle also isn’t designed to take advantage of the CPU usage and attract call enhancements that are central to Vulkan, unlike Stardock’s Axis of the singularity demo does with DX12. Furthermore, the new Vulkan drivers from AMD and Nvidia are also both still in beta.
In addition, only Nvidia’s beta driver has passed Vulkan compliance testing. Oddly enough, it was Nvidia’s driver that proved troublesome in testing, often crashing while running the game’s built-in 60-second benchmark. AMD’s driver had no such problems. Given the early nature of both the drivers and the game, I have no doubt these issues will be resolved later on. In short, take these benchmark results with a grain of salt.
All of this matters for much the same reasons DX12 matters; Vulkan has similar improvements across the board. Developers have more control over memory allocation and how commands are processed by the GPU, tasks traditionally performed directly by the driver. While that means developers generally have more work to do, it’s largely comparable to the work that needs to be done to optimize games on consoles like the PS4 and Xbox One.
Vulkan also makes much better use of multicore processors by spreading the workload evenly across the cores, along with sending commands to the GPU in parallel rather than one at a time. By taking advantage of the massive parallel processing capabilities of modern GPUs, Vulkan should make games run a lot faster.
|TEST SYSTEM SPECIFICATIONS|
|Operating system||Windows 10|
|CPU||Intel Core i7-5930K (6-core) @ 4.5GHz|
|RAM||32GB Corsair DDR4 at 3000MHz|
|HDD||Samsung SM951 512GB M.2 PCIe SSD|
|Motherboard||Asus X99 Deluxe|
|Power supply||Corsair HX1200i|
|Cooling||Hydro Series H110i GTX 280mm Liquid Cooler|
|GPUs||Nvidia GTX 980 Ti, AMD R9 290X|
The standard Ars UK test rig running Windows 10 was used to benchmark Vulkan along with Nvidia GTX 980 Ti and AMD R9 290X graphics cards (the latest AMD card we have access to). Tests were run with six cores and hyper-threading for a total of 12 threads, along with four cores and no hyper-threading to more closely mimic a typical Core i5-based gaming PC. In theory, more cores should equal better performance thanks to better multithreading, but as we saw with DirectX 12, it’s likely the GPU will become the bottleneck before the CPU can’t send enough commands to it.
Each benchmark was run at 1080p and 1440p resolution with all settings set to ultra, antialiasing set to 4X, and 3D rendering MPIX set to unlimited.
Some of you may also be wondering where the 99th percentile benchmarks are. Unfortunately, Fraps doesn’t work with Vulkan, and the built-in benchmark only spits out high, low, and medium frame rates. SLI and Crossfire don’t work either, and the Vulkan display path is so new Talos principle developer Croteam warns it won’t be as fast as its highly tuned DX11 implementation. So what’s important here isn’t performance compared to DX11, but rather performance compared to Vulkan’s predecessor, OpenGL.
Let’s get this out of the way first: no, AMD isn’t enjoying the same ridiculous performance boost as in the Axis of the singularity yardstick. Since the Ash demo made extensive use of CPU usage and pulled call improvements and The Talos Principle not, AMD’s ACE (Asynchronous Compute Engine) can’t bend its parallel computing chops the same way.
That said, both AMD and Nvidia see a performance boost compared to OpenGL. With six cores and at 1440p, there’s a 12 percent increase for Nvidia and a slightly less impressive 4 percent increase for AMD. At 1080p, there’s a bigger increase of 16 percent for Nvidia and 18 percent for AMD. The results of the four cores are largely the same.
In GPU-bound scenarios, such as gaming higher than 1080p, Vulkan isn’t that different from OpenGL. But there is a clear performance boost once the CPU is put under a little more load, such as at 1080p and lower resolutions.
This is a good indication that Vulkan can live up to the hype when it comes to better CPU utilization, and with much more powerful graphics cards on the way from both AMD and Nvidia, the extra CPU grunt could prove invaluable as 1440p and 4K gaming become mainstream.
So far there are no shocks with Vulkan as with DX12. Nvidia and AMD users can rest easy knowing that Vulkan will at least boost their existing hardware. Given the performance gap between Vulkan and DX11, there’s still a lot of work to be done for developers to get the most out of the nascent API; moreover, the graphics drivers are still very much in beta and not yet suitable for widespread use.
This is in stark contrast to DX12, which has benefited from being bundled with Windows 10 despite opposition. The API and drivers are solid and it’s only a matter of time before some quality games take advantage of it.
Vulkan is still far away; right now it’s about what it is could be instead of what it is is. But with Google adopting Vulkan for Android and Unity, Epic (Unreal Engine), Valve (Source 2), and Dice (Frostbite) lending a hand, you can expect the improvements to come thick and fast.