Skip to main content

tplogin.cn首页 > 新闻资讯 >

强制使用GPU加速 对Android设备加速画面显示有效吗

2012-11-06 22:30 浏览:

强制使用GPU加速之后,原本那些并未设定的应用程序,在2D画面的显示效能上会获得改进,特别是在滑动画面的顺畅感,使用者能够明显感觉到。但这也不是万灵丹,有些装置有用、有些装置没什么差别,请看小编的实测。

自从Android 3.0之后,2D画面的显示管线就做了些调整,使其能够更完整的支援硬件加速功能,只要程序设计师在程序码里设定硬件加速参数即可:

上述的设定方法是整个程序的全域设定,Android还有Activity、Window、View不同执行阶段的硬件加速使用方法,不过这不是本篇重点,仅点到为止。

强制开启硬件加速

如果程序开发人员忘记在程序当中开启硬件加速怎么办?难道要眼睁睁看着煮熟的鸭子飞走吗?在Android 4.0之后的版本之中,在设定页面的开发人员选项中,有个「强制使用GPU转译」的选项可以勾选,可以让全部的应用程序一律使用GPU硬件加速显示2D画面,就算是在程序码中将android:hardwareAccelerated设定为false也不例外。

强制使用GPU转译这个名称翻译的有点奇怪,好像叫GPU把程序码相互转换、编译,其实英文原本是显示为force GPU rendering,如果翻译成「强制使用GPU绘制画面」,可能比较多人看得懂。

硬件加速并非完美

强制使用GPU加速之后,原本那些并未设定的应用程序,在2D画面的显示效能上会获得改进,特别是在滑动画面的顺畅感,使用者能够明显感觉到。

既然有这么好用的东西,为什么厂商不将它设定成预设值,而是放在开发人员选项呢?这其实有个很简单的原因:不是每个绘图指令都可以使用硬件加速。在Android开发者网站上就有列出不支援硬件加速的指令,像是Canvas分类下的这几种指令就不支援:

  clipPath()

  clipRegion()

  drawPicture()

  drawTextOnPath()

  drawVertices()

如果程序中有使用到这几项指令,而又强制开启硬件加速,容易造成画面显示不正常,如以下的附图就是其中一个例子。

加速程度依装置而定

使用HTC J、Samsung Galaxy Note 2、Nexus 7测试「强制使用GPU转译」开启或关闭有些什么影响。

▲HTC J使用Quadrant Standard的测试结果,有没有开启选项的分数都差不多,画面也都正常。

▲Galaxy Note 2的Quadrant Standard跑分结果,开启与否的分数皆在伯仲之间,画面均正确。

▲Nexus 7的跑分结果,可以注意到2D子项目的分数较其它2台装置低,但是画面正常显示。

▲Nexus 7开启强制GPU转译之后,2D子项目的分数暴增,但偶尔会遇到显示错误问题。目前大部分的测试对于强制使用GPU转译的选项无任何感觉,在测试中只有Quadrant Standard的分数有变,而且分数提升的现象只发生在Nexus 7身上,其中2D项目的分数从关闭时的251分,开启之后跳到1000分,进步幅度相当惊人。但在最后分数长条图​​的画面显示错误,还好这种情况并不常见,大约10次里有1次机会。

相关文章

et文件怎么在电脑跟手机中打开

2022-04-15 08:40:33    浏览: 74

华为系统权限管理在哪里(如何打开华为系统权限管理)

2022-04-15 08:42:41    浏览: 150

ios16更新卡在估算时间怎么办(附详细解决办法)

2022-04-12 16:03:44    浏览: 185

苹果和安卓机录音后,音频在手机的什么位置

2022-04-12 12:40:30    浏览: 140

移动硬盘在电脑上不显示怎么办

2022-04-10 16:00:53    浏览: 120