The battle for graphics card supremacy just got a little more interesting. Nvidia unveiled its GTX 1080 and 1070, with power rivaling that of its beastly GTX 980 Ti. AMD just revealed its Radeon RX 480, a powerful and relatively low-cost GPU that will help bring VR to the masses.
Advancements in graphical technology aren’t the exclusive domain of hardware, however. While new card announcements get the lion’s share of attention, it’s software that ensures all that power doesn’t go to waste. The fastest sports car in the world sits idle on the track until a skilled driver gets behind the wheel, after all. That’s where Vulkan comes into play.
What is Vulkan?
Vulkan, first announced by non-profit tech consortium Khronos Group at the Game Developers Conference in 2015, is a cross-platform application programming interface that enhances everything today’s graphics cards can do.
As a low-overhead API, Vulkan is the next step forward for AMD’s Mantle API, which in of itself was a spiritual successor of the OpenGL interface. Though it is built on Mantle and AMD helped contribute, the Khronos Group is largely responsible for Vulkan’s development.
AMD introduced Mantle in 2013, and with it came significant changes to the OpenGL platform. Mantle helped unify the console and PC markets under a common graphics architecture. Co-created with EA’s DICE, studio behind Battlefield, Mantle adapted the multi-core advantages of consoles and brought them to the more robust hardware of PC.
According to Robert Hallock, AMD’s Head of Global Technical Marketing, AMD contributed the Mantle platform to Khronos “to jumpstart the process of bringing the OpenGL family over to a low overhead approach.”
“In its day, Mantle was the fastest adopted PC graphics API since DirectX 9,” Hallock said. Vulkan takes that base and builds on it, making a next-generation, open-source platform to take gaming further than it’s ever been.
Why should you care?
Right now you’re probably wondering why you should care about something as obscure as an API specification, after all that’s a developer problem right? Normally I’d say you’re right, but in Vulkan’s case things are a little more complex.
Vulkan’s actually a key step for the games industry, and development as a whole, and has the potential to solve a bunch of problems for general consumers as well as developers.
For starters, let’s talk about OpenGL and OpenGL ES. These two APIs have been a headache for developers over the years. OpenGL is Khronos’ previous desktop API, while OpenGL ES was the group’s mobile offering.
The separation between the mobile and desktop API made sense a few years ago, but in today’s interconnected world, where the worlds of mobile and desktop are increasingly intermingling, it’s been a hassle for developers.
The schism meant developers had to adopt hybrid, or even separate development procedures when trying to create cross platform titles — an issue that made coding for desktop and mobile environments a costly and time consuming experience.
Vulkan aims to change this by offering developers a suite of open-source, cross platform development materials that in theory work across multiple operating systems, including Windows 7 through 10, Linux, SteamOS, Tizen, and Android.
In theory, this will make it easier for developers to launch their wares across multiple platforms and create cross-ecosystem services. In short this means, with Vulkan, you could see more games appearing in more places in the very near future.
It’s not just about mobile
Mobile’s not the only area Vulkan’s set to help. Remember all the complaints you’ve been hearing about SteamOS not having modern games?
This is partially due to its API and issues between DirectX and OpenGL – SteamOS doesn’t support Microsoft’s DirectX which is why many PC games don’t work on it. With Vulkan these issues will be easy to avoid on future titles, meaning Linux gamers won’t be kept in the lurch quite so often.
The simplification could also improve games’ performance by reducing bulky driver overheads that have hampered game performance. The fact the API offers developers more granular control over components is another factor that could help boost gaming performance.
Unlike many competing APIs, Vulkan lets developers take more control managing key things like memory allocation and generating GPU workloads in parallel – a feature that will let them get more power out of multithreaded systems.
The end result will be more power efficient and better looking games on everything from smartphones and tablets, to desktops and laptops and dedicated games consoles.