Android Q's Vulkan ANGLE Promises Better Mobile Gaming For All


Today's release of Android Q Beta 1 marks a major milestone for Google as the new experimental operating system comes with support for ANGLE, or an "Almost Native Graphics Layer Engine" running on top of the Vulkan API.

Some new references to the functionality can be found inside the hidden Developer Options menu of Android Q, shedding more light on how Google intends to implement this feature which has already been officially confirmed, albeit without many details being shared by Alphabet's subsidiary.

Summarizing the boring technical stuff


The gallery below shows a new Developer Option debuting in Android Q called Game Driver Preferences; behind that self-explanatory name is a simple toggle that when turned on allows developers to use custom graphics drivers targeting specific apps. Naturally, the drivers need to be installed locally and developers have the option of switching between them at will. Well, will have, that is, as that functionality still appears to be broken in the premier version of Android Q. Likewise, Google has yet to implement an option that would allow for app-specific driver preferences, though that's only relevant to testing because as explained below, the end goal of the initiative is for every remotely graphically intensive Android app to run via ANGLE on Vulkan.

The ANGLE project is part of the Chrome organization, with this particular variant of the solution being optimized specifically for embedded systems running on top of the Vulkan API. By itself, it serves as an alternative to vendor-provided ES drivers, both in terms of overall performance and specific phenomena such as bugs which are sometimes fixed in one version but in a manner that's not compatible with other ones. Fragmentation benefits no one in this case and running apps via ANGLE should provide developers with a unified framework that won't suffer from those issues.

In conclusion, the main idea behind Vulkan ANGLE support integrated into Android Q is dealing with inconsistent app behavior caused by multiple OpenGL ES drivers currently being maintained by different vendors.


The exciting part

All of this dovetails with the fact Google is presently collaborating with many device makers in order to make Vulkan 1.1 support a requirement for all 64-bit devices (read: every smartphone and tablet that isn't ancient) running Android Q. Even the devs of embedded systems using 32-bit Android variants will be recommended to embrace the functionality, meaning that in practice, Vulkan will eventually become a single, unified graphics API used by modern games and other apps.

What that means is that optimizing games for countless devices will become much easier, leading to higher frame rates, shorter loading times, lower power consumption, or most likely – a combination of all three. While owners of mainstream devices such as those from Samsung's Galaxy S lineup already have the benefit of their devices being specifically targeted by most developers, those with more obscure gadgets should eventually see the quality of their mobile gaming experiences improve.


The inevitable "but"

Naturally, as exciting as all of that is, the OpenGL port is far from finished and while ANGLE will be consistently updated moving forward, the project is still likely years away from being completed. Even once the technology is ready to go, it will be up to developers to leverage it and depending on the state of tools at that point, doing so may not be a common practice among indies. So, this experimental support is still somewhat away from becoming a mandatory Android feature but the gears for better, more optimized graphics on devices running Google's OS are now in motion.