Android 4.2系统开启强制GPU渲染性能测试
农步祥 于 2013.05.03 01:57:13 | 源自:www.soomal.com | 版权:原创 | 平均/总评分:09.44/576

Skia是一个2D图形函数库,于2005年被谷歌收购,目前,谷歌的两大核心产品Android和Chrome浏览器均采用Skia做为2D图形引擎。Skia等同于Linux的Cario和微软DirectDraw,与底层硬件驱动无关,Skia搭配OpenGL/ES可实现特定的硬件加速,但并不完善。我们曾经测试了Android2.3版本下Skia和Webkit的图形性能,不过由于当时的Skia GPU不完善,Android GPU加速会使图形性能明显下降。

  • 在测试之前,我们还要解释一下Project Butter[黄油计划]和我们测试的目的。Project Butter是谷歌从Android4.1开始为图形引擎加入的新特性。“黄油”最重要的改进是加入了垂直同步[Vertical Synchronization]、三重缓冲[Triple Buffer,也被称为Project Buffering]和Choreographer[调度动画和绘图],那么在最新的Android4.2系统下,GPU渲染是否有了改进?

  • 在手机日常的应用如微博、QQ等,以HTML为表现层的APP占了大多数,Android系统以Webkit为HTML解释器。HTML做为一种解释性语言,其运行速度和效率自然难以和传统的编程语言相比,仅靠CPU性能已经无法满足HTML和未来HTML5的性能要求,要提升HTML的渲染速度以改善用户体验,图形运算能力更强大的GPU参与加速将非常重要,但是,谷歌在官方开发文档中也明确说明Android系统并不支持所有的2D硬件加速特性,因此即使是硬件配置更好的Android手机或平板,在这类以HTML网络应用体验中依然不如iOS和WP8设备,卡顿丢帧等现象依旧。Android4.2的“黄油”是否能使Webkit和Skia受益?这也是我们在测试中关心的重点。

  • 我们知道iOS和Window Phone 8系统有着效率更高的GPU图形加速机制,本次我们就以LG Nexus 4为基准设备,对Android GPU加速进行一些性能测试,测试项目依然以Webkit引擎表现为主,包括了Vellamo Benchmark和一些基于浏览器的SVG矢量绘图测试,我们会在部分项目中加入苹果iPad[第三代]、诺基亚 Lumia 820进行简单的对比参考。不过要注意的是,这次我们并未使用自定义固件或修改源码,为Nexus 4官方最新的4.2固件。

  • See The Sun Canvas是一个3D SVG蝴蝶动画,开启GPU渲染前后基本无区别。

  • Canvas Crossfader是两个图片的半透明渐入渐出切换的效果,是一种常见的网页特效,系统默认时看似稍好,不过Android系统对这个特效支持很差,仅有20帧/秒的切换速度,通常在网页下这样的图片过渡效果占屏幕面积要比测试中大得多,帧率通常会下降至个位数,因此这可能是测试误差导致。

  • Aquarium Canvas是漂浮的图案动画效果,属于位图控制,开启GPU强制渲染后慢了20%。

  • 滚动图片时,开启GPU加速后尽管只有1-2帧的提升,但明显更为平滑,而网页滚动时也如此,但是系统开启GPU加速并不会像Skia GPU那样强制关闭Frame Buffer帧缓冲机制,这并不完全是GPU加速的功劳。

  • 随机网页缩放在开启GPU加速后性能略有下降,但不会有明显影响。

  • Vellamo中有一个屏幕采样测试,可方便测试屏幕的响应速度和液晶面板的延迟,开启GPU渲染后这里出现了BUG,仅有25Hz,而正常状态下Nexus 4应该有56Hz。

    从Vellamo的测试结果来看,在开启GPU强制渲染后,Nexus 4的Webkit引擎性能依然出现了下降,但是和Android 2.3时代相比,Skia和Webkit性能的确有了飞跃性的进步,SVG动画已经可以正确渲染,很多针对Webkit浏览器引擎的在线HTML5游戏能正常运行,已不再是过去那种仅能定位而无法正常显示的幻灯片式效果。

    在谷歌开发者论坛中,还有两个与Webkit相关的在线测试:SVG Path Benchmark是浏览器使用SVG随机画10000根线条的图案。

  • 测试结果出人意料,Nexus 4比iPad 3明显要快,这也得益于高通APQ8064确实有着更强大的性能。Lumia 820在这里出现了显示错误,实际渲染速度并没有三倍的差距。

  • 这个测试程序更为复杂一些,他可以绘制特定像素范围内的长和宽,并重复绘制多边形图形,由javascript脚本完成。在这个测试中。Lumia 820的表现最好,比iPad 3和Nexus 4都快,而Nexus 4在这个测试中发热非常严重,这个测试项目似乎可以简单测试Android手机最大负载下的工作温度。

    总结

    无论从测试结果还是应用体验上看,Android的GPU加速要比过去更为完善,但单纯GPU加速依然不如配合FBO[Frame Buffer Object]缓冲时稳定,在涉及到位图处理时性能还是有下降的趋势,而“黄油”的主要受益方是Android系统核心的UI和内置应用,对于常用的网络社交应用,则仍然依赖Webkit的HTML渲染效率和处理器的性能。在日常使用中,例如QQ、淘宝客户端等应用,在开启GPU渲染确实会更为流畅,在划动屏幕时感受最为明显,不过也有类似新浪微博客户端等应用在滚页时有明显卡顿,效果反而变差,网页出现显示错误的几率也会大增。我们也建议用户将强制GPU渲染功能关闭以增强系统稳定性。

    iOS和WP8系统的设备在GPU加速利用率上明显更为高效,Lumia 820的处理器和GPU性能相对较弱,SVG性能表现甚至更好,而在各类SVG 3D动画效果演示中,Lumia 820运行最为流畅。我们并不是为了批评Android系统,借助着ARM处理器性能的进步,Android的Webkit引擎性能还是日益强大。但是增强GPU加速和通用计算使硬件利用率更为充分,对用户而言,可以有着更顺畅的系统和网络应用,HTML5应用也更能促进人机交互;也可使设备厂商从拼四核八核十六核的硬件性能攀比中解放出来,有更多精力和成本用于改进音质、摄像头画质、屏幕或通话等更为重要的用户功能体验。

    请评分
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    014.023.233.***
    014.023.233.***
    发表于2013.09.05 16:37:59
    74
    111.073.***.***
    111.073.***.***
    73
    171.036.017.***
    171.036.017.***
    发表于2013.07.29 09:44:27
    71
    096.046.***.***
    096.046.***.***
    70
    060.024.107.***
    060.024.107.***
    发表于2013.07.14 08:20:55
    68
    121.099.032.***
    121.099.032.***
    发表于2013.06.26 14:54:47
    67
    使设备厂商从拼四核八核十六核的硬件性能攀比中解放出来,有更多精力和成本用于改进音质、摄像头画质、屏幕或通话等更为重要的用户功能体验。
    发表于2013.06.04 11:18:38
    66
    125.074.028.***
    125.074.028.***
    发表于2013.06.04 11:17:42
    65
    113.251.160.***
    113.251.160.***
    发表于2013.05.19 02:09:49
    64
    如题
    发表于2013.05.17 17:31:51
    63
    219.082.070.***
    219.082.070.***
    发表于2013.05.13 13:09:04
    62
    117.136.008.***
    117.136.008.***
    发表于2013.05.09 23:12:09
    61
    112.194.158.***
    112.194.158.***
    发表于2013.05.09 01:02:14
    60
    171.082.089.***
    171.082.089.***
    发表于2013.05.08 22:22:14
    59
    059.037.207.***
    059.037.207.***
    发表于2013.05.07 19:01:21
    58
    123.202.082.***
    123.202.082.***
    发表于2013.05.07 10:46:45
    57
    110.178.014.***
    110.178.014.***
    发表于2013.05.06 19:42:43
    56
    061.191.142.***
    061.191.142.***
    发表于2013.05.06 13:34:04
    55
    提示
    本贴不可匿名回复,回复等级为:1 ,您现在正处在潜水状态
    回复
    验证码
    5630 为防止广告机贴垃圾,不得已而为之
    表情
    正文