Wednesday, August 19th, 2015 Posted by Jim Thacker

Compare Vulkan to OpenGL ES in ‘gnomes per second’

One of the more offbeat videos to come out of Siggraph 2015 was Imagination Technologies’ new Vulkan demo, which compares the upcoming graphics API with the OpenGL ES API it replaces in ‘gnomes per second’.

Formally unveiled at GDC 2015, and due for release later this year, Vulkan is a “ground-up redesign” of OpenGL designed for a full range of modern devices and hardware architectures.

Up to 40,000 individual gnomes, in real time, on a mobile GPU
Imagination’s Gnome Horde demo shows a complex scene running under Android on a Nexus Player console integrating one of the firm’s PowerVR G6430 mobile GPUs.

At the highest zoom level, the demo draws around 400,000 object per second. The gnomes aren’t instanced, and each has a different transformation, plus “many different materials, textures, blend modes and shaders”.

Under Vulkan, the demo maintains a smooth frame rate when zoomed out; under OpenGL ES it chugs, painfully.

Better processor and memory handling under Vulkan
While both versions run “equivalent code”, the scene uses OpenGL ES in a way it’s not designed for, in order to highlight new functionality within Vulkan, such as the way tasks can be divided between CPU and GPU.

According to Imagination Technologies: “Before drawing in both APIs, the driver needs to compile a set of commands for the GPU to execute … and do other work – all before actually starting the GPU.

“With OpenGL ES, this needs to be performed for each draw call. In Vulkan we can compile and validate this list of commands ahead of time, and then have the GPU execute these pre-generated commands.”

Vulkan also handles multi-threading much more efficiently – as can be seen from the CPU usage graph when the camera is moving fast – and gives developers much more control over memory allocation.

A glimpse of mobile applications to come?
Imagination’s blog post goes into much more technical detail than we can here, and is well worth reading.

But even if you only skim it, the demo is an interesting insight into the kind of graphics performance we can expect on mobile applications in future – not to mention a neat bit of geek eye candy.

Read Imagination Technologies’ detailed blog post on its Gnome Horde demo

Read more about Vulkan on open standards body the Khronos Group’s website