📜 ⬆️ ⬇️

Google developer dispels "full hardware acceleration" myths in Ice Cream Sandwich



Good morning, Habr!

I found an interesting news on xda-developers.com, which is a retelling of the recent post “Destroying the myths about full hardware acceleration in ICS” from Google’s Google+ profile of Diana Hackborn. I took the liberty to make a short translation-retelling based on these two publications, which I quote below under the text. The first version of this publication was already published by me this night on the R2-D2 blog : Android with benefit , but the topic seemed to me worthy coverage on Habrahabr (I hope there is no need to re-raise the discussion of the fact that the “Links” section after the autumn Habra update is almost and actually died).
')


Google developer Diane Hackborn on her Google+ page shared information regarding the hardware acceleration of the interface in Android 4.0 Ice Cream Sandwich. The excitement that arose around this function did not arise just like that - too many reproaches sounded to the smoothness of drawing 2D-elements in Android in comparison with other mobile OS.

Of course, hardware acceleration in Android is a positive thing, but there are a lot of misconceptions about what this possibility really is. First, Android has been supporting hardware acceleration for many tasks of drawing multiple windows for many years (it’s about window composition — the taskbar, alerts, menu bar, appearance and hiding of interface elements). This means that all the animation elements of the interface in Android has always used hardware acceleration.

In contrast to rendering the composition of windows, the rendering of the image inside the window has traditionally been done using a processor in Android 2.X and below. However, in Android 3.0 Honeycomb, these functions can be transferred to a graphics accelerator, but only if it is directly indicated by the android option in the application manifest: hardwareAccelerated = ”true”. The only difference between Android 4.0 ICS is that when developing using the latest available API level 14 (and in all future), this option is enabled for applications by default.
It would seem that now we have the ability to “make” all applications in Android 4.0 ICS work with hardware acceleration enabled, regardless of its manifest, isn’t this great? In fact this is not true. In the case, for example, with the PowerVR video accelerator, the drivers used in the Nexus S and even in the Galaxy Nexus, “eat off” 8MB of RAM for each process that uses hardware acceleration. It seems not so much? This was not the case, because such an active consumption of RAM at once by a multitude of processes significantly increases memory consumption in general, which immediately affects the speed of multitasking - up to a significant slowdown. As a result, the Google development team is now spending considerable effort on fine-tuning what parts of the user interface really need hardware acceleration on the Nexus S.

What is the result? Compared to Android 2.X, Ice Cream Sandwich has more features, including through the increased use of hardware acceleration. However, apart from having the option of enabled acceleration “by default”, the use of hardware acceleration in ICS is no more “full” than it was before. And, among other things, do not forget that hardware acceleration is not magic and not a miracle, as many believe, but its presence is of course a plus, not a minus.

Based on Google+ Diana and discussions on xda-developers.com

Source: https://habr.com/ru/post/134003/


All Articles