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

  • Tujan - Wednesday, January 18, 2012 - link

    Concerning the youtube video shown about the android smartphone. No misconception here,but is it the intention of the video to put your thumb so much at the forefront of the small phone,somehow toggling between 'both eyes' of the viewer. ? Is that the intention of the video ?
    Pure punn intended that is an awesome big speaker you are speaking to. And true even though the video was most likely rendered in 'full part',with both video and audio attached,I cannot help the feeling that there IS SOME LATENCY between my chinese made glasses and the finish of my lcd.
    The fact that you are discussing a radio device,and I am utilizing a later viewing of it over a wired internet connection. Does not diminish the fact that your radio devices capability of facial recognition,and my lcds display of it is no substitute for taking x-rays if you actually need to.
    I see that you are descript in functioning your arms across the whole of the screen at the making of your video. And there is that very large meter between the preposition of the distance of the audio device,and the radio device that is to conclude that preposition.
    Punn accepted there is certainly some latency there that is perfectly conceptual. Between the foreground,and the background. And the autonomic acceptance of my viewing it.

    You notice that at times as a forefront,you have a wide screen rendering. Then at other times there is the focus 'in'. The difference in doing so is the focal point of my comment in that subject of its latency.

    And that truly the speaking IS a separate distinction of a Microphone. Than that of a speaker,and the screen displayed. Your being behind it shouldn't be misconstrued of what my comment is coordinating to account to. Since obviously the latency between my glasses and what I see on the screen at my viewing of it is of no consequence to your creation of it.

    Mentioning that relationally you cannot change the environment around you no more than I can make your video for you. Perhaps someone will recognize this.

    And thanks.
    Reply
  • nsnsmj - Wednesday, January 18, 2012 - link

    I always enjoy how detailed the reviews are. Reply
  • BitGambit - Wednesday, January 18, 2012 - link

    I love this phone, but I have owned 2 different Nexii with the "Mura" screen issue. The first one I owned was glaringly obvious, but the second one less so, but it's still there. I was not able to exchange it for the second time, because the defect wasn't apparent enough to warrant an exchange, explains the Verizon employee. It pains me because having a good screen is important to me and I was looking forward to release of the Galaxy Nexus. I'm absolutely jealous of those who have a Galaxy Nexus with immaculate AMOLED screens. Reply
  • crankerchick - Wednesday, January 18, 2012 - link

    I haven't had a chance to read the whole review, but I'm happy to see it. I've been checking everyday thinking I must have missed the review. It's great to see time and care being put into the review, as always. The video at the bottom was also very insightful and hits right in the points if why I prefer Android and the evolution it has seen, over iOS when it comes to my mobile devices. ICS flies in my Galaxy Nexus and my XOOM! I don't ever see 25 Mbps on my Nexus though, or all the bars for that matter. Maybe I have a signal issue? :-p Reply
  • flomt - Thursday, January 19, 2012 - link

    I see you have the iphone 4s getting 9.85 hours of web browsing. Do you receive a phone from Apple to test, or do you go to the store and buy one?
    The reason I am asking is I have a 4s and I can tell you mine, and the people I know that have one are lucky to get 9.85 hours of battery life with the phone sitting on the nigh stand.
    Thanks for the great reviews.
    Reply
  • doobydoo - Thursday, January 19, 2012 - link

    I think all the figures Anandtech post are their own measured statistics.

    I have a 4s and I, and the people I know that have one, are amazed by how long the battery life lasts, both in general and when web browsing.

    When sitting on the night stand for 9.85 hours a very small percentage of battery life is depleted.
    Reply
  • flomt - Thursday, January 19, 2012 - link

    I know 4 other people with a 4s, none of them can last 24 hours with very light usage. 9 hours of web browsing is not even kinda of possible. All are on the most current release 5.0.1

    Reading the Apple forums, I am not the only one. Do the phones with poor battery life all originate in a different factory than the ones that last a long time? have a different version of the radio?

    Apple is just denying that they have a problem now and I can tell you that they really do have a serious problem with some phones.
    Reply
  • tipoo - Thursday, January 19, 2012 - link

    Are you running push e-mail by any chance? That kills idle battery life. Reply
  • flomt - Thursday, January 19, 2012 - link

    Nope, manual sync only. Reply
  • tom5 - Thursday, January 19, 2012 - link

    You state in the article here that the camera sensor is a NOT-back-illuminated S5K4E1G sensor and Chipworks in the teardown article states that Galaxy Nexus is using "S5K4E5YA 5 Mp, 1.4 µm pixel pitch back illuminated CMOS image sensor":
    http://goo.gl/gvIWV
    Who is right?
    Reply

Log in

Don't have an account? Sign up now