Vulkan API Means More Control and Alternative to OpenGL [UPDATED]
After missing their goal of releasing the initial Vulkan API specifications by the end of 2015, the Khronos group has now completed the 1.0 release of the API. By now most of our readers are also aware that Android is one of the supported platforms. But what does this mean for developers and users?
Thankfully, the press release and materials on the Vulkan web site give us a wealth of information to start answering some of those basic questions that may be out there.
First and foremost, Vulkan is not a replacement for OpenGL or OpenGL ES. It is an alternative approach to graphics development, one where much more of the control is in the hands of the developer. The other thing about Vulkan that’s noteworthy in the introduction is that it designed to remain a unified specification throughout its life cycle – something that wasn’t achieved in OpenGL. Certainly implementations will have differences at the hardware and driver level, but the goal of the API is to keep as much of it universal across all platforms where possible.
The above graphics helps show a key tradeoff between the two – control for overhead. In OpenGL a developer cedes more control of the graphics processing to the OpenGL drivers and APIs. Vulkan offers an alternative by giving you more control of the hardware at lower levels, which also means eliminating overhead that may be found. If that sounds familiar it’s because you have heard similar efforts with AMD’s Mantle API and now in Microsoft DirectX 12, also knowing as getting “closer to the metal.” Vulkan offers that opportunity for more control in the mobile scene. And when we’re talking overhead in the mobile scene, we’re also talking about things that can run and take battery or performance away in a much more limited set than a desktop or larger scale use.
Obviously with the SDK coming out just now, there aren’t any real-world examples to show a comparison; but that doesn’t mean that we can’t see the excitement in the mobile scene. Just a review of the press release today shows several quotes worthy of highlight. I have emphasized in bold things our readers may have particular interest in.
Qualcomm’s Director of Product Management Micah Knapp:
We are pleased to have contributed to the definition of Khronos’ new Vulkan API. Qualcomm Technologies, Inc. will be among the first to ship conformant Vulkan drivers, starting with our Qualcomm Snapdragon 820’s embedded Qualcomm Adreno 530 GPU, and subsequently with our Adreno 4xx series GPUs. Vulkan enables the next generation of graphics performance by adding multi-threaded command buffer generation and explicit control of advanced graphics capabilities within Adreno GPUs. We expect to support Vulkan in the Snapdragon developer tools including Snapdragon Profiler and the Adreno SDK, to help application developers take advantage of this outstanding new API when creating graphics and compute applications for smartphones, tablets, VR HMDs and a variety of other types of devices that use Snapdragon processors.
Update 2/17 9:45 am CT: The 4xx series includes the Snapdragon 805/808/810 lineup – a large amount of devices out in the market today.
NVIDIA’s Senior VP of Content & Technology Tony Tamasi:
The Vulkan API enables developers to get the best from NVIDIA GPUs, and we are proud of our role in its development. We are making Vulkan drivers available for Windows, Linux, and Android platforms, on the same day as the specification launch, and we’ll continue our work within Khronos to ensure Vulkan evolves to meet industry needs.
Update 2/17 9:45 am CT: True to their word, Developer OS images supporting Vulkan can be obtained here. The site states Public OTAs with Vulkan support are “…going through final verification but should be available soon.”
Samsung Electronics’ VP of Mobile Communication Business Tae-Yong Kim:
Samsung is excited about Vulkan’s launch today, which will help expand the gaming ecosystem across platforms. We have been working within Khronos to support an open standard that will enable high performance and cutting-edge technologies. Vulkan will provide a more exciting, immersive user experience for mobile gaming.
Naturally, many of the members of the Khronos Group have made a statement about this new release so head over to check out the press release for all the goodies. And while this may take a bit to get to your device of choice, the offering of other graphics options for developers seems like a wise choice indeed. It’s also important to note that even the Khronos Group believes many developers are still better off with OpenGL ES. This makes sense since from a beginner’s point of view it’s a much more stable standard and easier to implement. But I know I’ll be looking forward to see what difference this makes for the consumer. Who knows? We might eventually see UIs based on Vulkan if they provide a lower overhead for the basic use of a mobile device.
Vulkan Github Repos:
So with this new tool out for developers, do you think this could be a game-changer? Or is it more of a yawn? Let us know in the comments below!