What is Vulkan?
In March of 2015, Khronos, a nonprofit member funded industry based in Beaverton, Oregon announced a tentative launch date for Vulkan.
Multiple members from Khronos met and agreed on the idea that there was a need for a new generation cross-platform GPU API. Following this, Khronos aimed to open up a high-level driver abstraction to give low-level GPU control, achieve streamlined faster performance, portability, and attain an extensible platform for rapid innovation.
The primary design of the API is to run on a diverse platform that ranges anywhere from a child’s electronic to a complicated workstation. This is all on the basis of a layered API, which allows the creation of common code validation, debugging, and profiling, without hindering the speed of your CPU. Considering the amount of flexibility that is achieved through this layered design, Vulkan has made it clear that it is an approach for technology of all complexities.
Vulkan vs OpenGL
One of the main questions about this new API is how it compares to its predecessor, OpenGl. The Vulkan overview guide released a section with step by step examples as to why the new API is the no compromise better option. A primary upgrade from the past is the thread per context. Prior to the Vulkan, OpenGL operated on a single thread per context, while the Vulkan now has a muti-thread generation of command buffers. Along with that, Vulkan’s thin driver with explicit GPU control trumps the layered GPU control of OpenGL, which was unable to load bugs and validation layers.
Vulkan vs DirectX
Unlike the OpenGL API, Microsoft’s DirectX API for Xbox and Window’s PCs is a closed system. What this means is that DirectX is incapable of spanning to a vast amount of devices such as a Samsung tablet or a custom workstation. Vulkan has already shown that it is able to support Windows interface when the beta versions of Fable Legends and Ashes of the Singularity were released. The portability of the Vulkan offers the true advantage of the product without sacrificing performance.
While the Vulkan API has tremendous amounts of upside, it is still a work in progress. The full release of the product won’t be released until the end of the year, but has shown enough promise to spark the amount of interest it already has received. One of the leading examples of the progress that the API has made was released by Imagination Technologies, one of the leading mobile GPU units right now. They published a blog post recently comparing the improvements of the Vulkan to a Google Nexus Player. The reference run was performed on an OpenGl but the clear difference in quality from Google to the Vulkan is undeniable. There are a total of 400,000 objects in the shot and vertices ranging from 13,000 to 300 vertices. There are an estimated 1,000,000 triangles in the wide shot of the image, and with each object there is a different shader. This may all be great, but the actual results won’t be known until the full product is released.
The promising progress from Vulkan has peeked interest from the developers point of view as well. While this process of developing high cost PC games will still require a complex process, this API now can allow developers to use the same front-end compiler across multiple platform. This in turn will eliminate portability issues, reduce runtime shader, and cut down on distribution shader/kernels source codes for added level op IP protection.
The Vulkan clearly has the upside to become the API that could change the way developers and casual gamers view cross-platforms Gpu’s. Only time will truly tell where Khronos’ progress will land them.