What is Force GPU Rendering in Ice Cream Sandwich?
When Android 4.0 Ice Cream Sandwich was announced we were told that, like Honeycomb before it, more emphasis would be placed on the graphics processor. We even saw a new addition in the Developer section of the Settings that lets users “force GPU rendering”.
What is the GPU?
The GPU is the Graphics Processing Unit. It’s very much like the CPU, but instead of crunching numbers and taking care of tasks for the operating system and hardware, the GPU renders graphical information and puts it on the screen for you.
The CPU can process graphical instructions just fine, but doing so takes time away from doing “other” computations, and can lead to “lag” while graphical instructions are processed. Not only that, the CPU is quite inefficient at processing graphical data as compared to other more “computational” instructions. The GPU solves both these problems, first by offloading graphics processing from the CPU (freeing it up for more important threads), and second by more efficiently handling and processing graphical data.
Contrary to popular opinion, Android has always had some level of graphics acceleration (even back in 1.0), just not as much as it has today.
The software development kit (SDK) for Android 3.x Honeycomb let application developers specifically tell the system to render their app using the GPU, if present. The next version of the SDK, targeting Android 4.x ICS, had this turned “on” by default — meaning a developer would have to specifically turn off GPU rendering in ICS, rather than specifically turn it on in Honeycomb.
That’s fine and dandy for apps that are written specifically for Honeycomb (with the graphics bit turned on), or apps written specifically for Ice Cream Sandwich (without the bit turned off), but what about all those other apps that are out there that haven’t been (and may never be) updated to take advantage of thew newer technology?
Force GPU Rendering
In Ice Cream Sandwich, developers (or power users) are given the option to “force” apps to use GPU rendering, whether that bit is on or off in the app’s manifest.
Is it a magic-bullet to make your apps faster? Not necessarily.
Could it break things or have weird side-effect in various apps? Yup, but probably not.
How can you know? Open up your settings, go to Developer options, and put a check in the box next to Force GPU rendering. If things start looking or behaving badly, go back and uncheck the box. On the other hand, if things seem “just like normal”, you may as well leave it on, you’re probably getting better performance, even if you can’t tell.