One of the coolest under the hood changes of Android 10 is the implementation of ANGLE, the Almost Native Graphics Layer Engine. It's one of those things that you'll never see or know is there if it's working properly, but will let your phone run games using it's native GPU hardware APIs even if it was built for a more powerful set of graphics instructions. It's complicated to wrap your head around unless you're a hardware nut, so we're going to explain it in plain English.
More: What are the Vulkan APIs, and what do they mean for Android?
ANGLE is a Chrome project designed to do one thing — allow users on any platform to run WebGL and OpenGL ES content on its native APIs. It does this by translating OpenGL ES 2.0 and 3.0 API calls to desktop OpenGL, OpenGL ES, Direct3D 9, and Direct3D 11. These are all APIs (Application Programming Interface) that let a developer build 2D and 3D graphics into an application, but none of them are compatible with each other. Until now.
The really interesting part is what's next for ANGLE, which is where Android comes into play. The project is currently implementing translation into Vulkan and the addition of support for compute shader from ES 3.1 is coming after. The phone in your hands, regardless of model, has native Vulkan support and can run 2D and 3D games written with it using hardware acceleration. Games that require OpenGL ES of any version might also run on your phone, but if your phone's GPU doesn't natively support it you're left with software acceleration, which means slow and/or buggy graphics in most cases.
Android 10 allows developers and hardware manufacturers to decide to use ANGLE to translate GPU instructions from one API system to another. That means a game developer can decide to build in support for ANGLE into a game and a phone maker can decide to use ANGLE to translate it into instructions for the GPU used in its chipset. Since ANGLE and Vulkan support is still a work in progress, this is all opt-in for now and probably will remain that way with the full release of Android 10. But eventually, it will become "just another Android feature" and all work without any developer or manufacturer involvement.
If you are running Android 10 on your phone you can try it right now. ANGLE support is enabled for every app if you change a setting so you can see where it need some more time in the oven. You'll find the flag in the developer settings and you can choose to try it on a per-app basis. Pro-tip: don't enable it for everything at the same time unless you want your phone to get really bugged out. Trying it for an app or two isn't going to hurt anything though, and since Android 10 is only available for phones with strong hardware, you probably won't notice anything.
That's a lot to digest if you're not into this sort of thing, so let's build a potential real-world example. You decide to save a few dollars and buy a budget phone that doesn't have a strong CPU and GPU inside. It doesn't support the latest version of OpenGL ES, which is a tool that developers use to make 3D games. A really cool new game goes live on the Play Store and you install it and it runs pretty well. Everyone is happy; you because you get to play a cool new game and the developers because you installed it and like it.
Behind the scenes, the developer of that game decided to build support for ANGLE into the game. it just so happens that the company which made the budget phone you bought also included ANGLE support when it built Android for it. The new game was designed using OpenGL ES 3.0 APIs because it has tools that make a game look great and the developer can do it easily. Your phone doesn't support OpenGL ES 3.0, but it does support Vulkan 2.0. ANGLE translated those OpenGL API calls into Vulkan APIs that your phone's hardware understands and can render without any trouble. Voilà, fun for everyone.
To be sure, any project this big will need some time before it works the way its developers intend. ANGLE is coming with Android 10, but we'll need several versions of updates before it gets even close to perfect. But seeing how software can be used to make the experience on inexpensive hardware really great is one of the main reasons why I love Android — not everyone wants to spend $1,000 on a phone but everyone does want a good experience. Google tries to deliver just that, and this is the type of innovation that allows it to happen.
Wonder if this would help my friend's Moto E5 Plus. It's too bad iPhone's don't do this (or do they?). My gaming friend has an iPhone, and we sometimes have to stop our game session because it overheats and starts locking up. One day Apple may put thermal management in, but for now, the SOC has to sweat it out without the means to hand that heat off, and little in the way of software aids to help out. It's kinda funny to think that the U11 could handle intense gaming fine in 102 degree F weather at the beach in direct sunlight. Meanwhile, an iPhone 8 Plus overheats in the cool shade playing Leo's Fortune.
Don't know what model of iPhone your friend has, but my iPhone X does not get hot at all or locks up for any reason.
Even on the beach in direct sunlight @ 104 degrees f.
Is ANGLE important for Samsung flagships? Don't Samsung flagship devices already natively support all of the major graphics libraries including OpenGL ES 2.0, 3.0, 3.1, Vulkan, etc...? This sounds like its primarily important for Chinese brand Android devices, or mid to low range phones, correct?
Get the best of Android Central in in your inbox, every day!
Thank you for signing up to Android Central. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.