Microsoft’s DirectX 12 and Apple’s Metal are next-generation graphics platforms. They provide lower-level access to graphics hardware, allowing game programmers to squeeze more performance out of the hardware. Vulkan is the cross-platform answer to Microsoft and Apple’s technologies.
As Vulkan is cross-platform, it brings this next-generation graphics technology to Google’s Android, Valve’s SteamOS, Linux, all versions of Windows, and potentially even Nintendo’s next console. Vulkan brings better gaming performance on absolutely any platform that wants to use it, and makes games more portable between different platforms.
It Started With AMD’s Mantle
In order to understand where Vulkan came from, it’s important to know a little history. It all started with AMD’s work on Mantle, which was announced in 2013. Mantle was a new graphics system pitched directly to game developers. It promised to make games faster by providing a more efficient graphics layer. More technically, it promised lower CPU overhead and more direct access to lower-level graphics hardware features.
AMD provides the graphics hardware for both Microsoft’s Xbox One and Sony’s PlayStation 4, and said that Mantle was built on the optimizations it worked on for those next-generation game consoles.
Mantle competed with Microsoft’s DirectX and the cross-platform OpenGL, both of which were showing their age at the time. In fact, this was a direct attack on Microsoft’s own DirectX, which many PC games use. AMD executives at the time said they never expected Microsoft to even release another DirectX. So AMD just had to convince game developers to leave DirectX and OpenGL behind and use their newer, better system.
DirectX 12, Metal, and Vulkan
Microsoft responded. In 2014, Microsoft announced DirectX 12, which is now included in Windows 10 and the Xbox One. Microsoft pitched it in the same way, promising a more efficient graphics system than DirectX 11, and one that provided direct access to low-level graphics hardware features.
Apple also announced a similar technology in 2014 called Metal. It was added to iPhones and iPads with iOS 8, and to Macs with OS X 10.11 El Capitan.
AMD shifted gears after this. A few games implemented experimental Mantle support, but the technology was never really released to the public. AMD announced it would focus on Microsoft’s DirectX 12 and the “Next-Generation OpenGL Initiative” rather than pushing its own platform. That “next-generation OpenGL initiative” was managed by the Khronos Group, which also manages OpenGL, and ultimately became Vulkan. Even if you’ve never heard of OpenGL, you’ve certainly used it. All Android 3D games and most iPhone 3D games–until Apple’s Metal was announced, at least–have been written in OpenGL.
Vulkan brings a cross-platform, next-generation graphics system to Android, SteamOS, and Linux. Windows games can use Vulkan, too. Sony’s PlayStation 4 could add Vulkan support, just as Microsoft’s Xbox One added DirectX 12 support. Nintendo quietly joined the Khronos Group in 2015, so there’s a good chance Nintendo’s next console could use Vulkan as well.
Vulkan even works on Windows 7 and Windows 8.1, which will never receive Microsoft’s DirectX 12. Because it’s cross-platform, game developers can choose Vulkan and their optimized code can run on various different platforms, rather than just Windows 10, or just OS X.
That’s the point of Vulkan: it can be added to practically any platform. Developers could code games in Vulkan and they’d be easily portable between different platforms, which is a huge boon if it delivers on its promises.