It was meant to launch last year, but as they say: better late than never. The release version of the Vulkan graphics API, derived from the abandoned carcass of AMD’s low-level Mantle API, has finally been released royalty-free to all and sundry.
As I mentioned before the jump, Vulkan — which was called GLNext for a period — is a platform-agnostic graphics API that gives developers a much lower-level access to hardware than what DirectX 11 or OpenGL currently allows.
The basic idea is giving developers more control over the hardware will result in less overheads and more performance gains. Vulkan, much like DX12, is also designed from the ground up for multithreading.
Early benchmarks from DX12 — particularly from Ashes of the Singularity, currently the most taxing game that takes advantage of Microsoft’s updated API — have been impressive, especially for AMD owners.
Initial results from Vulkan shouldn’t take that long to eventuate either. NVIDIA has released a set of drivers that conform with the new API’s standards. AMD has some beta drivers out, although it doesn’t have DirectX components so it’s not a suitable replacement/upgrade yet.
Intel has released some open source, Vulkan-ready drivers too. Even Imagination Technologies has announced plans to include full support for the Vulkan API in the next version of the PowerVR GPU SDK, due to be released around next month’s Game Developers Conference.
Initial benchmarks shouldn’t take that long to eventuate either. Croteam has already patched in Vulkan support for their acclaimed first-person puzzler The Talos Principle — although they’ve warned users not to expect improved performance just yet. GPU-bound sections of the game could see performance drops of 20% to 30% for now, while CPU-bound scenarios might only run marginally faster.
Furthermore, while there are plenty of big names supporting Vulkan it might be some time before programmers on the ground really get to grips with the API. Offering lower-level access to the hardware also makes coding more difficult, and the Khronos Group has announced that they will continue supporting the higher level OpenGL standard.
Multiple developers have already pledged to support Vulkan in their engines going forward. DICE, Epic, Unity and Valve have also contributed to the development of Vulkan, although it’ll be some time — like DX12 — before its use in games becomes more widespread, and more optimised.
Those interested in reading through some heavy technical detail can trawl through the Vulkan 1.0 core API, or the API and extension spec dump on Github.
Comments
16 responses to “Vulkan’s Graphics API Is Finally Out, But Don’t Expect Performance Gains Yet”
Both DICE and AMD deserve a lot of credit for this. I hope it catches on whatever it’s called.
It’s called vulkan. Didn’t you read? Lol
I wasn’t wondering what it’s called. lol. I was pointing out the insignificance of the name as opposed to it’s use.
NVIDIA has helped with this as well, as has Valve.
Yes they have. Good on them. But I distinctly recall the opposition made when it (same technological concept) was still called Mantle. I’m not saying that opposition was unfounded, I’m saying I’m glad they all saw enough reason in the end.
Ref: https://youtu.be/3RF0zgYFFNk
That was back when it was totally under AMD’s wing though. A year after that they decided to open source it and turn it into a collaborative project, and I think the platform-agnostic nature of it (there’s even the Vulkan wrapper so it can work with iOS) will be a huge plus point going forward.
But low level languages, for lack of a better phrase, can be a real bitch. Anyway, it’ll be fun to see how things shake out over the next two years.
Better late than never is part of the reason OpenGL became yesterdays news while DirectX took over the market.
DX only took over a specific part of the market. Beyond Windows and Xbox, OpenGL is essentially the sole 3D API. That includes millions of phones, tablets, consoles, PCs running a non-Windows OS, and probably a good number of wristwatches.
Even with Windows, you have to be running Windows 10 to get the same advantage with DX12. Vulcan will be available for any Windows platform that can install the new drivers, plus all the above devices.
As a developer, you’ve got to ask yourself, should you restrict yourself to Windows 10, or concentrate on an API that covers every platform. Before, Direct X had the advantage of being one step ahead of OpenGL. Now, that advantage is erased. It’s a new playing field, and what was before, may soon be very different.
Once you move beyond Windows PCs, there are more devices supporting OpenGL than DirectX. If you are using MacOS, Linux, iOS, Android,etc, then OpenGL is going to be the default API choice. If you want to do 3D on the web, then you’ll be using WebGL
OpenGL stagnated in the PC market because Microsoft only distributed an implementation of the driver with their NT operating systems, so software developers couldn’t rely on the API being available to their users. In contrast, the software fallback for DirectX was packaged up in a form they could bundle with their installers.
Things are a bit different this time, since there are effectively only three GPU manufacturers that matter in the PC space, and they’ve all indicated support for Vulkan.
Though doesnt Sony have their own apis and so do Apple? So its down to linux, android and some of the windows market.
Tried it in The Talos Principle…
Game ran for less than 10 seconds then crashed. In those 10 seconds I got 1/2 the FPS of DX11.
I have hopes for it but obviously it’s not quite ready or Croteam have not implemented it correctly.
There’s obviously a bug somewhere if you’re seeing crashes, but at this point it could just as easily be in the graphics drivers you’re using. It’d be very new code on both sides at this point.
Could be, but I’m using the recommended driver from Nvidia on my GTX970.
I have tried a few times and am crashing 50% of the time… I get a solid 60FPS on DX11 with no crashes so that’s where I’ll stay for the foreseeable future.
If you go over to Phoronix you will see they posted up the results of their testing for Talos and Vulkan, basically they got 10 or so more FPS then standard API. So I would take a guess that your results are possibly broken for some reason other then Vulkan just not being that good because results elsewhere say otherwise.
These benchmarks kind of align with what I’m seeing: http://www.gamersnexus.net/guides/2319-initial-vulkan-vs-dx11-benchmark-amd-v-nvidia
Not quite there, but hopefully it can catch up and at least match DX11 & 12 in the next few years.
And it supports a lot of platforms too ! (not just w10)