Google Chrome has a foundation of simplicity, security and performance, but for the Android version, sometimes we lose out on the performance aspect. Whilst Android device processors are significantly more powerful than they were just a couple of years ago, our displays have many more pixels and web pages have become more complicated; rendering a webpage is a slow process, even with modern processors. In short, the Chrome browser isn’t as quick as many people would like. Things don’t have to be like this, though, according to Google: currently, when the device renders a webpage, data is shunted from the CPU (central processor unit) to the GPU (graphics processor unit) before it reaches the display. The CPU is slower than the GPU, which is kept waiting around until it has the information it needs to push to the device display. It’s this bottleneck that causes the jerkiness when rapidly scrolling through a webpage, especially when it’s still rendering: the GPU can happily scroll through the webpage, but the CPU can’t provide data quickly enough. And this is where one of Google’s latest projects, Ganesh, is aiming for: hardware accelerated webpage rendering.
Project Ganesh is aiming to remove the CPU from the webpage rendering processor and instead rely on the GPU. Modern GPUs are well suited to the task thanks to their “shader core architecture,” which means they have many low power graphics cores capable of completing many, many simple computing operations very quickly. The most extreme example is the Nvidia Tegra K1, which has 192 shader cores; this type of processor excels at tasks where a lot of simple information needs to be processed at the same time. Our multi-core CPUs are great at completing more complicated operations in a short space of time, but less efficient when asked to complete many, many simpler tasks in a short space of time. Google’s idea, then, is to plug the GPU into the webpage rendering process and sidestep the CPU as much as possible.
Google demonstrated a Project Ganesh-enabled Chrome browser today at the Chrome Developer Summit, but did not explain how exactly that this was achieved. Google’s internal Chrome Canary build for Android already has a working version of Ganesh running on what appears to be a Nexus 5. It’s only working on a limited number of modern devices and only between 10% to 15% of websites are compatible with the technology; there’s much development to be done to get it working on the large number of CPU, GPU and Chrome platforms available across the world. However, if it’s a Nexus 5, that means that Qualcomm are involved and that in itself is exciting. A speed boost is a speed boost!