Graphics Shake-Up: Vulkan API Poised to Put More Rendering Power into Developers' Hands

This week, after an 18 month build-up, the Khronos Group released the Vulkan 1.0 specification along with the all-important LunarG SDK. This means that developers will have a new means of rendering games and 3D apps. After decades of OpenGL and OpenGL ES availability saw the rise of DirectX and more recently, the introduction of Metal, leaders from Nvidia, AMD, Intel, ARM, Google, and other important tech companies have come together to develop Vulkan. Vukan debuts as a rendering API designed to give developers explicit GPU control.

This debuts follows a ramp-up involving both the Khronos Group members and a huge cross-section of game engine and platform members.

From Valve's Gabe Newell, "We are extremely pleased at the industry’s rapid execution on the Vulkan API initiative. Due to Vulkan's cross platform availability, high performance and healthy open source ecosystem, we expect to see rapid uptake by software developers, far exceeding the adoption of similar APIs which are limited to specific operating systems."

With that explicit control does come more work. Developers will control memory allocation and overall resource control and will be able to access multiple CPU cores, while at the same time, be able to use SPIR-V for native driver and shader language, and overall be able to remove some of the weeds that get between the GPU (via driver) and render instructions. (At the very least, there should be less overhead.)

In contrast to DirectX 12 and Metal, Vulkan is royalty free and open source. It is not limited to specific platforms (like DirectX 12, Windows 10, and so on), and is meant for use on all variety of platforms (any OpenGL ES 3.1.4.X GPU). This includes mobile and embedded devices, which should immediately make it a prime target for IoT implementation. At the same time, Vulkan is meant to be complimentary to OpenGL and OpenGL ES.

Already, both Nvidia and AMD have beta Vulkan drivers, and production drivers are inbound. While it is only just now realistic for most developers to begin learning to use Vulkan (via the LunarG SDK), Croteam has already implemented beta support for Vulkan in 'The Talos Principal.' (It helps that Croteam is a member of the Vukan Advisory Panel. See here.)

It's here in the openness of certain game development pipelines that Vulkan can find an initial key audience, and players who can enter a game and pick which rendering API to run with will be a great audience. (A choice between DirectX 11, 12, and Vulkan makes sense for many current robust games and communities.) As mentioned earlier, however, it's going to take a developer more work to use Vulkan at a more integral level, with the payoff theoretically being maximum performance via explicit GPU control.

(The LunarG SDK is being offered along with several samples as at the LunarXchange. See here.)

The Khronos Group will be holding Vulkan sessions at GDC (see here) as well as free co-located sessions nearby (see here). While Vulkan ought to be a big deal very soon on PC, SteamOS/Linux, Android, and even Apple, it'll be interesting to see when the API makes headway into game console territory. It ought to (eventually) be a real test of how well code transfers between platforms, as well as a means of trying to open up (just a little) a closed platform. This may be a situation where mobile devices and set-top boxes are able to push ahead during the current console cycle.

Founded in April 2006, High-Def Digest is the ultimate guide for High-Def enthusiasts who demand only the best that money can buy. Updated daily and in real-time, we track all high-def disc news and release dates, and review the latest disc titles.