We all know that hardware UI acceleration has been introduced in Android 3.0 Honeycomb by Google but it was of course exclusive to the Tablets. Now the same hardware accelerated GUI and animation enhancements has been introduced in the Android 4.0 Ice Cream Sandwich as well. According to the many initial reports Android 4.0 does indeed feels more responsive and smooth from a user experience perspective (as compared to the Gingerbread Android 2.3 on the smartphones). But there are some people that still believe that even with the ICS introduction Android might still be lagging behind Apple iOS in terms of GUI smoothness. Well, it seems that not all of these concerns are ungrounded as yesterday, I came across a very interesting article by Andrew Munn which goes in to details about the underlying reason for the laginess in Android UI and graphics. This article has been written in response to another detailed article written by a Google Engineer Dianne Hackborn that goes in to detailed mechanism on how the graphics sub-system and touch-screen handling works in the Android and points out some design decisions taken which were basically compromises taken when Android was originally designed long-time ago. Both of these articles are pretty detailed buy I am going to outline some of the key points.
Andrew Munn in his article looks at one of the common questions asked by the Android users/fans that why their user experience on the Google mobile OS is laggy? Article gives a number of reasons for this and not all of them can be blamed on the Google Android. But the primary reason pointed out in the article is that Android UI rendering works in a thread with the normal priority while on the iOS all the UI rendering occurs in a thread with a real-time priority.
On iOS when an app is installing from the app store and you put your finger on the screen, the installation instantly pauses until all rendering is finished. Android tries to do both at the same priority, so the frame rate suffers. Once you notice this happening, you’ll see it everywhere on an Android phone. Why is scrolling in the Movies app slow? Because movie cover thumbnails are dynamically added to the movie list as you scroll down, while on iOS they are lazily added after all scrolling stops.
So, this is actually surprising for many including myself as generally one might think that some GUI sluggishness might be because of the GC collection or Byte code running instead of the native as on the iOS.
Other reason pointed-out in the article include limited graphics bandwidth provided in some Android hardware such as Tegra 2. One other reason pointed-out in the article is about the Dalvik VM used in the Android OS which is not as mature as the desktop counterpart – a JVM. But on the positive side Dalvik is now improving on the Android with every release and limited graphics subsystem BW SoCs like Tegra 2 are now finishing their lifecycle and of course with Ice Cream Sandwich hardware acceleration is coming to the smartphones as well.
But as pointed out in the article Android in the longer run have to rewrite the GUI toolkit to avoid the issues such as animation running in the main UI thread as well as giving the UI a real-time priority as on the iOS. Although this rewriting might involve some major underlying design changes that could break the existing application compatibility for example.
Now before I finish this article I would like to say I have not doubt about the technical reasons given by the developers as briefly outlined above but on the other hand honestly Android UI lag might not ne something that will be experienced by all the users out there in particular the users with high-end hardware such as Samsung Galaxy S2 might not experience this. At least, for me as Galaxy SII owner I never experienced the UI laginess that has been the focal point of the article that has been outlined above. On my SGS2 with stock firmware (Android 2.3 Gingerbread) neither UI is laggy nor I experienced any responsiveness issues as mentioned in the article. To me the GUI on the Samsung Galaxy SII seems at least as smooth as on the iPhone and that is even without installing Ice Cream Sandwich that includes hardware rendered UI support!. It seems that this may be a bigger issue on the older hardware for example based on Tegra 2. In the case of the SGS2 there may be a number of reasons due to which we don’t experience these UI issues. Once could be the dual-core SoC, another the relatively lower screen resolution that needs to be derived by the graphics sub-system as compared to the some devices such as the Galaxy Nexus and others that comes with high resolution screen (720p etc.). My point is that while facts explained in the article linked above might be true about the Android subsystem in general but do not necessarily mean this problem will be present on all the Android devices available.
You Might Like:
Get Free Email Updates
Inspired Geek is your primary source for latest tech news, guides and articles on Windows software, games, Apple and Android devices.
- Get extensive coverage on latest tech news.
- Exclusive guides on rooting, jailbreaking and unlocking mobile devices.
- Useful apps and tips&tricks for your iOS and Android devices.
- Exlclusive Top Countdowns for the best software.