Modern System-on-Chips, or SoCs, are engineering marvels: the designers have integrated application processor cores, modem basebands and graphics processor units into a very small, thin unit. The reason why so many components are tightly integrated into a small space is because different parts of the SoC are more efficient (that is, complete more work in a given period of time or per unit of energy consumed) than other parts. When it comes to the GPU, graphics processor unit, this part of the SoC is capable of very quickly processing a lot of information in an energy efficient manner as long as it is provided to the GPU in an efficient way. This is how a modern GPU can draw a complex 3D scene in a fraction of a second and animate games at up to sixty frames per second. Developers spend much of their time working on optimizing the data for fast GPU processing – but even the most experienced of developers can run into issues that means it takes longer to develop the code (or, worse, an application or game is released with a deceleration bug).
Enter Khronos and their new Vulkan API, application programming interface. Vulkan’s APIs are designed for multi-threaded use, that is, multiple application processor cores feeding data to multiple graphics processor codes. Vulkan is designed to keep the flow of data into the GPUs so as to keep power consumption at a minimum and improve performance. The system is designed to reduce application core overhead down to the minimum. Khronos are aiming to take advantage of some of the improvements Google made to Android 5.0 Lollipop (and later), which includes significant support for OpenGL ES and includes over fifty thousand new tests as part of the Android Compatibility Test Suite (or CTS). Vulkan will include similar functionality and Khronos’ ambition is to “improve the 3D graphics ecosystem as a whole.”
At the moment, Vulkan is still in development: Khronos are creating and testing the API and have announced plans to contribute to and support OpenGL ES. This means that developers will be able to pick between OpenGL ES or Vulkcan – the decision to use the simple Open GL ES standard or the Vulkan, which allows greater control over the hardware. Regardless of the camp developers go for, Khronos is intent on having your back. For further information including specifications, tests, development tools and more, log on to the source website detailed below.