作业帮 > IT趣闻 > 教育资讯

谷歌工程师详解Android平台的硬件加速真相

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 03:30:25 IT趣闻
谷歌工程师详解Android平台的硬件加速真相
谷歌工程师详解Android平台的硬件加速真相IT趣闻
【51Test.NET-谷歌工程师详解Android平台的硬件加速真相】:

当相对开放的Android平台与严格封闭的iOS系统相比的时候,一个重要的不同就是iOS的应用运行起来更加流畅。这是Android自出生以来一直在追求的一点。日前Google工程师Dianne Hackborn在Google+邮件中阐述了Android硬件加速技术的一些情况,由此大家可以看到,Android硬件加速技术并没有大家想象的那么完美,这也许正是其用户体验不及iOS的一个主要原因。

图:Android冰淇淋三明治(ICS)

现状:描绘新元素才启用硬件加速

与我们以往听到的完全不一样了吧?Android在1.0版本之后就开始对2D UI进行一些硬件加速。每天我们看到的许多Android动画效果就是硬件加速技术的体现。比如,菜单弹出对话框和通知栏都是这样的。

Android系统所有的“窗口合成”都是基于硬件加速的GPU渲染产生,我们可以这样理解,在屏幕上描绘任何新的元素,都会启用硬件加速。如果没有发生重绘变换,比如按钮本身高亮或者按下状态,这些变化就是通过软件渲染。但我们点击一个菜单按钮,所产生的覆盖效果是就由GPU完成的。

图:比肩iOS的3D游戏效果是每一个Android粉丝的期待

创新:“完整”的硬件加速技术

那新的Android冰淇淋三明治(ICS)又有哪些不同呢?Hackborn透露,我们将会在Android 4.0中看到“完整”的硬件加速技术,所有的UI元素和第三方的应用程序都将可以通过GPU渲染。尽管Android 3.0拥有相同的技术,但现在开发者可以指定硬件渲染的目标,由此推动4.0的功能更进一步。Google正鼓励开发者更新应用程序,加入硬件加速标签,从而完全支持新的硬件加速特性。

这很可能会让开发者花费一些时间去调整应用以适应新的ICS系统,但谷歌也设计了相应的设置选项来应对硬件渲染。Hackborn警告说,在程序未经测试前,有可能会在一些方面造成影响。这也成为Android硬件加速首先要应对的问题。

众所周知,GPU渲染应用程序的动画效果和UI时,系统肯定会消耗一定内存。比如渲染一个进程加载OpenGL驱动大概需要2MB系统内存,但运行时就会达到8MB。RAM有限这时就成为了一个大问题,当运行的应用程序不断增加,系统将不得不关闭更多的后台任务去节省内存。这样的结果可不是开发人员和用户愿意看到的。

图:花哨的UI界面如何更好的节省内存一直是个大问题

未来:硬件提升将带来流畅体验

开发人员应当注意到,Android在硬件加速技术的开发上有很多的特殊技巧。首先是界面的独立窗口可以复制到一个统一渲染层实现更高效的GPU访问。Andriod也会将背景渲染成一张大的位图,这样在用户滚动屏幕时不需要重新渲染。

同时,还应当注意到,目前的移动设备硬件在面临严重的GPU渲染负担时,会使整体性能出现下滑。但我们放眼未来,伴随着GPU和显存带宽的不断升级,Android必然会很快的超过60FPS,并有望在用户操作体验上超越IOS。

IT趣闻