

If you read the previous article detailing smartphone processors you'd have discovered that the actual processing cores are just one part of the system-on-a-chip that forms the basis of all modern phones. Along with said processing cores and other subsystems in the SoC you find the graphics processing unit, or GPU, in very close proximity to the processor.

The use of the GPU depends on several factors: the structure of the system-on-a-chip and also the operating system used on the device. For the former, if the SoC doesn’t happen to have a dedicated media decoding chip then the GPU might be used to handle high-resolution videos. There is also the possibility that compatible tasks are offloaded to the GPU so the more power intensive CPU cores can clock themselves down.

When it comes to the operating system, things are a lot more complex. First and foremost the GPU is used entirely for all 3D rendering in games and applications. The Cortex processing cores are simply not designed to handle these sorts of tasks and in all operating systems the GPU will take over from the CPU to handle the rendering more efficiently. The CPU will help out for certain calculations while rendering 3D models on screen (especially for games), but the main grunt will be done by the graphics chip.

The GPU is the "2D/3D Graphics Processor" part of the Tegra 2 SoC above

Most graphics cores also support 2D rendering in certain areas: things such as interface animations and image zooming are two good examples. The processor can also usually handle these tasks so whether the GPU is used is usually up to the operating system used on the device.

Windows Phone is very animation heavy and with the relatively low-power SoCs used in WP devices it would be impossible to get smooth action from simply using the CPU. As such, the GPU plays a big part in rendering the main interface and other animation-heavy UIs, leaving the user with a very smooth experience.

Android is a whole other story. As the original and low-end devices that were available running Android did not have powerful GPUs in them at all it was impossible to offload all 2D rendering tasks to the GPU. Google decided for compatibility reasons that it was better to simply have all rendering done by the CPU (which for early devices wasn’t very good either) and so the signature Android lag was born.

Read the rest of the article
This article is brought to you in partnership with Neowin.