Khronos Group’s ‘Vulkan’ API, Performance Numbers Revealed – Prototype Build Show 89% Increase Over OpenGL in Intel StarDust 1.1 Benchmark
One of the most promising APIs in development right now is the Vulkan API. Not only does it have all the low level capabilities that are part and parcel of today’s modern demand, but it is fully open source as well. The code is based mostly on the pioneering Mantle API and work is being done on it by the Khronos group to make it a worthy successor to OpenGL. Today, we have some benchmarks to share with you (via MyDrivers); these compare the OpenGL API with the Vulkan API, and as expected, the results do not disappoint.
Vulkan shows an 89% increase in frames per second over OpenGL in Stardust benchmark
The story of Vulkan starts with Mantle API. Mantle as we knew it, is no more. However, the API still exists and the partially developed ecosystem does as well. To put it bluntly Mantle API has split into two offshoots: the Vulkan API, champion of the open world and Mantle API as it is now, a relatively proprietary system that AMD will use inhouse and will only appear in select use cases (eg: LiquidVR). Vulkan aims to be bigger and better than what it once was. It is the only low level API that supports every single platform in existence. As such, a lot is riding on it and interest from key players is quite high. Google also plans to deploy and promote it as the API of choice of next generation Android games. Without any further ado, given below are the benchmarks:
In this case, we are looking at a constrained TDP scenario. This means that there is a given thermal-power envelop and the CPU/GPU combo has to utilize the same resources and attempt to maximize their output. Naturally, if the CPU consumes a lot of the allowed TDP, the GPU wont be able to perform as well and the frames per second will suffer. In the screen with the Vulkan Prototype watermark you can see in the graphs where we transition from the Open GL API to Vulkan’s prototype build. What we see is that frames per second nearly double, what happens behind the scenes is: the load on the CPU decreases drastically due to more autonomy being granted to the GPU, consequently, its power draw also decreases. The extra available power is then used up by the GPU to push out more frames.
Basically, this is an example of pure optimization that Vulkan is capable of. Now it goes without saying that as you move higher up the food chain to enthusiast class desktops, the performance jump will diminish. OpenGL was an API that was originally designed for graphic work stations that will be working with direct renders. What that means is that it was not originally intended to power mainstream gaming platforms or the mobile platform. Another major problem, which any developer will attest to, is the fact that the documentation is now so huge (to the point of being cumbersome) that it frankly scares away most new entrants.
Vulkan API on the other hand, was designed from the ground up, to not only provide to the metal access to the GPU but also keep all the mainstreams platforms in mind. Since it’s based on Mantle, and is redesigned from scratch, the documentation should be pretty clean at this point. Another big advantage over OpenGL that it possesses is a multi-core friendly architecture. Where OpenGL didn’t allow generation of graphic commands in parallel to command execution, Vulkan happily allows multiple command buffers in parallel. Basically, in CPU with 8 threads, previously what happened was a sort of haphazard attempt at queuing with little to no dispersion over the threads.
With Vulkan, 5 threads out of the 6 will be running Command Buffers in parallel and 1 will act as the submission thread or command queue, passing the work onto the GPU. In laymen terms, that means that Vulkan can more efficiently and effectively utilize multi core processors – which let’s face it, is almost every mainstream processor out there. This prototype of Vulkan is looking pretty damn amazing, and it should be nothing less than a revolutionary update for the mobile platforms at the very least. We are talking about quite a few years of performance improvement delivered by a single API update.