OS-Wide OpenGL ES Rendering

Although smartphone and tablets still lag behind the technology we have in modern day PCs by several years, their evolution is a highly accelerated version of what we saw in the PC industry. It took decades to go from the first GUIs to the GPU composited and accelerated UIs we have on the desktop today. Android has made a very similar transition in just three years.

Prior to Honeycomb, the majority of screen drawing in Android was done using its skia libraries. These libraries were almost exclusively CPU based and did very little work on the GPU. Over time Google rewrote key elements of Android to use new OpenGL ES rendering paths instead of skia for screen drawing. We saw the first major transition in Gingerbread where parts of the OS became GPU accelerated, but things like the browser were still being rendered to the screen using skia. Honeycomb was a significant step towards GPU accelerated drawing, and ICS all but completes the transition. The other component is the drawing model, which is completely revamped in 3.x and above. 


From Romain Guy's Android Accelerated Rendering Google I/O 2011 Presentation

Honeycomb based tablets were significantly smoother than Gingerbread devices but even they showed some UI performance issues depending on what you asked of them. We later found out that this was a Tegra 2 limitation, something that would surely contribute to NVIDIA not being chosen as the lead SoC partner for ICS.

Also from Romain Guy's Android Accelerated Rendering Google I/O 2011 Presentation

With Ice Cream Sandwich, the OS, browser and all first party apps are OpenGL ES accelerated. The result is absolutely noticeable. App launches, scrolling and window transitions are all buttery smooth. Web browsing is unbelievably smooth and easily comparable to iOS and Windows Phone at this point.

Third party apps have to opt-into the OpenGL ES rendering path, which will likely require an update for those apps that haven't already done so. Google also provides the handy option of forcing all apps to use GPU accelerated apps and ignoring the opt-in (hardwareAccelerated="true" from the AndroidManifest.xml file). The obvious downside is not all third party apps will work gracefully with hardware acceleration enabled, though most do right now. The Southwest Airlines app, for example, will crash as soon as you try to check into a flight if you force GPU accelerated drawing, and Speedtest.net shows a blur for its line graph of throughput during the test. Google has outlined the draw operations that are unsupported in 3.x and 4.x already, which thankfully aren't many. 

 

While it would be nice for Google to allow GPU acceleration settings on a per application basis, the truth of the matter is that many of them work just fine. Those that don't work are likely a simple update away from getting on board, otherwise they risk obsolesce as more platforms get ICS in the future.

If the sluggish UI held you back from Android in the past, ICS almost completely addresses the issue. I say almost completely because there are still some minor hiccups and a couple of more reasonably sized problems with the OS' responsiveness.


Task Switcher with CPU use overlay (new in ICS) enabled

The biggest issue for me is the delay when operating any of the ICS buttons: back, home or the task switcher. While tapping a folder on any of the home screens results in an instantaneous display of its contents, hitting any of the three ICS buttons just isn't as responsive. There's a noticeable delay between when you hit the home button and when you actually appear back at the home screen. It's a delay that's, at least in my opinion, a bit too long. More frustrating is the delay in bringing up the list of recently used apps. It's less than two seconds but it should be in the milliseconds.

I monitored CPU usage while bringing up the task switcher and saw a small spike in CPU usage (~15%) and an associated increase in clock frequency, but nothing significant enough to lead me to believe we're CPU bound here. If anything I wonder if this is a GPU performance limitation similar to what we saw with Tegra 2 and the app launcher on Honeycomb. Given the incredible resolution of the Galaxy Nexus' display and the fact that we're still dealing with a 307MHz PowerVR SGX 540, it's quite possible that the platform just needs a faster GPU. I'm curious to see how well Tegra 3 will do here.

 

The Android vs. iOS Debate The UI: Holo Evolved
POST A COMMENT

185 Comments

View All Comments

  • Jingato - Friday, January 20, 2012 - link

    Why even bother posting a review of a phone that is over a month old? If you want to be a real news /review site you should of had a review the next day. There is no reason not to. period.

    get your shit together
    Reply
  • tipoo - Friday, January 20, 2012 - link

    Because they go more in depth than most reviews out there. The ones that post reviews the day after a product launch don't find nearly as many flaws and details as the AT team. There are plenty of other sites for quickie reviews, I like Anandtech for in-depth. Reply
  • Omid.M - Sunday, January 22, 2012 - link

    That's unnecessarily harsh. If you're used to the same day "reviews" of Engadget--i.e. NOTHING technical, totally subjective measurements of everything, in the name of being the "first" with a review--then go ahead and keep reading Engadget.

    Brian and Anand review EVERYTHING in depth: basebands, screens, software, they even have supercurio who is well known dev in Android community for his take on audio processing. Plus, Anand and Brian were covering CES.

    Anand, Brian,

    Great job as always. I have a chance to pick up a Nexus LTE for $500 (since I don't have an upgrade) but will hold off; might go with iPhone 4S until Krait or iPhone 5 comes out and (hopefully) blows me away.

    -Omid

    @moids
    Reply
  • Harbler - Sunday, January 22, 2012 - link

    Why even bother posting a comment if you're not going to read the review? A cursory perusal of the index alone would have answered your question.

    Anand & Co. take the time required to turn in top-notch, in-depth reviews, and they've been doing it for longer than your favorite gadget review site has even been in business. Anandtech is, in every sense, a *real* review site.

    If wholly subjective reviews of devices (provided within hours of launch) are your idea of informative reading, then please return to Engadget or whatever site you strayed from. Unlike Anadtech, sites of the sort you're looking for are a dime a dozen, and you'll find them substantially better suited to your attention span.
    Reply
  • vortmax2 - Friday, January 20, 2012 - link

    Can Brian or Anand comment on why they believe Samsung used an OMAP 4460 when they only clocked it to 4430 levels? Also, devs at XDA are having a hard time overclocking it to the 1.5GHz/384MHz max values. Any ideas? Thanks! -Jamie Reply
  • Tripp1717 - Friday, January 20, 2012 - link

    Ive had it for over a month now and i upgraded from a galaxy s (epic 4g on Sprint). Watching Blue ray movies i put on my phone are simply amazing. Ive never seen anything better and i work in the electronics dept at sears. Its better than the samsung 7000 led screen. Overall it took a few weeks to really get used to Andriod 4.02 but it is an amazing improvment from 2.3.5. I cant think of too many flaws here. LTE is SOOO much fater than WiMax! i get about 25-30 MB/s when using speedtest. Upload speeds are very fast too, ave. is around 10ish MB/s. Battery life is fantastic compared to my epic 4g. At work i set my ohone to data restrict so i only get calls and texts because in my store there is NO signal at all and after 8 hours from 100% it will drop to 85%. My Epic wouldnt make it through the work day. 720p Super AMOLED+ really makes this phone a winner. Google and samsung working together is a great combo. My ONLY complaint is i wish i had an 8 or higher megapixel camera. But with the added features its pretty darn decent. No complaints except there are a few programs that are still not compatible with 4.0+ (HBOGO). I highly recomend this over any phone out or anything slated to come out for awhile anyways. Reply
  • Amit P - Friday, January 20, 2012 - link

    I'm waiting for my THIRD Nexus to come in. I had screen problems with the first two. The screen wasn't as bright as my brothers Nexus with the same settings. The colors weren't as vivid either. Reply
  • Bristecom - Friday, January 20, 2012 - link

    Thats why I didnt exchange mine. Even though it has a dead pixel, aside from that, the screen looks great. So I fear getting one with no dead pixels but poor brightness or colors. This screen is the best Ive ever seen. Other super AMOLED plus displays Ive seen have off colors that bother me. Reply
  • Bristecom - Friday, January 20, 2012 - link

    I have to say, mine has a dead green subpixel and it is very clear to me even from a distance with green or white screens. Regardless, I didnt bother exchanging it. -Sent from my Galaxy Nexus Reply
  • medi01 - Saturday, January 21, 2012 - link

    A question, I have Galaxy S so can't compare.
    Could you please comment on whether black is actually black on Nexus as it is on Galaxy's?

    I'm asking because dear objective Anand managed to make a photo of it that makes it look gray ("Display" page)
    Reply

Log in

Don't have an account? Sign up now