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

openkk 12年前
     <div id="news_body">     <p><a href="http://114.tfol.com/vote.do?method=vote&receiverId=1007&type=hwy"><img style="display:block;margin-left:auto;margin-right:auto;" alt="谷歌工程师详解Android平台的硬件加速真相" src="https://simg.open-open.com/show/0874ed70bae6968bd71858c8536efff3.jpg" width="361" height="272" /></a></p>     <p>         当相对开放的 Android 平台与严格封闭的 iOS 系统相比的时候,一个重要的不同就是 iOS 的应用运行起来更加流畅。这是 Android 自出生以来一直在追求的一点。日前 Google 工程师 Dianne Hackborn 在 Google+ 邮件中阐述了 Android 硬件加速技术的一些情况,由此大家可以看到,Android 硬件加速技术并没有大家想象的那么完美,这也许正是其用户体验不及 iOS 的一个主要原因。</p>     <p>        <strong>现状:描绘新元素才启用硬件加速</strong></p>     <p>        与我们以往听到的完全不一样了吧?Android 在1.0版本之后就开始对 2D UI 进行一些硬件加速。每天我们看到的许多 Android 动画效果就是硬件加速技术的体现。比如,菜单弹出对话框和通知栏都是这样的。 </p>     <p style="text-align:center;">        Android 系统所有的“窗口合成”都是基于硬件加速的 GPU 渲染产生,我们可以这样理解,在屏幕上描绘任何新的元素,都会启用硬件加速。如果没有发生重绘变换,比如按钮本身高亮或者按下状态,这些变化就是通过软件 渲染。但我们点击一个菜单按钮,所产生的覆盖效果是就由 GPU 完成的。 <a href="http://114.tfol.com/vote.do?method=vote&receiverId=1007&type=hwy"><img style="display:block;margin-left:auto;margin-right:auto;" border="0" alt="谷歌工程师详解Android平台的硬件加速真相" src="https://simg.open-open.com/show/e792471e964b31e20c70baf5556a0922.jpg" width="357" height="348" /></a></p>     <p>图:比肩 iOS 的 3D 游戏效果是每一个 Android 粉丝的期待</p>     <p>        <strong>创新:“完整”的硬件加速技术</strong></p>     <p>        那新的 Android 冰淇淋三明治(ICS)又有哪些不同呢?Hackborn 透露,我们将会在 Android 4.0 中看到“完整”的硬件加速技术,所有的 UI 元素和第三方的应用程序都将可以通过 GPU 渲染。尽管 Android 3.0 拥有相同的技术,但现在开发者可以指定硬件渲染的目标,由此推动4.0的功能更进一步。Google 正鼓励开发者更新应用程序,加入硬件加速标签,从而完全支持新的硬件加速特性。 </p>     <p>        这很可能会让开发者花费一些时间去调整应用以适应新的 ICS 系统,但谷歌也设计了相应的设置选项来应对硬件渲染。Hackborn 警告说,在程序未经测试前,有可能会在一些方面造成影响。这也成为 Android 硬件加速首先要应对的问题。</p>     <p>        众所周知,GPU 渲染应用程序的动画效果和 UI 时,系统肯定会消耗一定内存。比如渲染一个进程加载 OpenGL 驱动大概需要 2MB 系统内存,但运行时就会达到 8MB。RAM 有限这时就成为了一个大问题,当运行的应用程序不断增加,系统将不得不关闭更多的后台任务去节省内存。这样的结果可不是开发人员和用户愿意看到的。 <a href="http://114.tfol.com/vote.do?method=vote&receiverId=1007&type=hwy"><img style="display:block;margin-left:auto;margin-right:auto;" border="0" alt="谷歌工程师详解Android平台的硬件加速真相" src="https://simg.open-open.com/show/e7ece1589b5c4cab8b2c008b6d38e33c.jpg" width="465" height="257" /></a></p>     <p style="text-align:center;">        图:花哨的 UI 界面如何更好的节省内存一直是个大问题</p>     <p>        <strong>未来:硬件提升将带来流畅体验</strong></p>     <p>        开发人员应当注意到,Android 在硬件加速技术的开发上有很多的特殊技巧。首先是界面的独立窗口可以复制到一个统一渲染层实现更高效的 GPU 访问。Andriod 也会将背景渲染成一张大的位图,这样在用户滚动屏幕时不需要重新渲染。</p>     <p>        同时,还应当注意到,目前的移动设备硬件在面临严重的 GPU 渲染负担时,会使整体性能出现下滑。但我们放眼未来,伴随着 GPU 和显存带宽的不断升级,Android 必然会很快的超过 60FPS,并有望在用户操作体验上超越 IOS。 </p>     <div id="come_from">      来自:      <a id="link_source2" href="/misc/goto?guid=4958318849657708843" target="_blank">CSDN</a>     </div>    </div>