Today at Mobile World Congress 2015 Imagination, the creator’s behind the PowerVR lineup of graphics processors (GPU), have announced a brand new API designed by the Khronos group, specifically for mobile devices and PowerVR chipsets in mind. Imagination has been testing the Krhonos group’s new API Vulkan on PowerVR Rogue GPUs and it promises to deliver considerable improvements in 3D rendering performance all while reducing CPU overhead and workload. This idea is very similar to what AMD announced with its Mantle API, and Microsoft followed suit later with the announcement of Direct X 12 and its Direct3D 12 API. All of these APIs have one big thing in common: programming for the GPU at the hardware level and lightening the load on the CPU so that it’s free to do other tasks.
Imagination and Khronos are gearing this new API up to replace OpenGL ES 3.0, which it says is a limited API due to its high CPU overhead. High CPU usage while rendering graphics not only takes the CPU away from other important tasks like multi-tasking and other background processes but also drains the battery quicker. GPUs on the other hand have become increasingly more powerful when it comes to computational power, and with the advent of compute shaders we’ve seen the shift from CPUs being used for tasks like physics and other intensive processing methods to GPUs taking all the workload. As GPUs are made for very specific types of computational tasks and CPUs are only made for general processing tasks, offloading this type of processing to the GPU makes plenty of sense.
With Vulkan developers can take advantage of the low-level API Imagination is providing by letting their applications do all the high-level management work while the driver handles all the low-level tasks. This results in slightly more complex application code but keeps developers from having to work around the driver as they have for things like shader pre-warmings in OpenGL ES. Vulkan also provides more consistent performance than OpenGL ES because it’s designed specifically for PowerVR GPUs and thus has very specific code to write for, unlike OpenGL ES where generic code may run differently on various platforms. If you’re interested in reading up more on the new API including specifics check out the Imagination blog post at the source link below, and check out our hands on video of the new Vulkan API.