您的位置:首页 > 移动开发 > Android开发

GameBench企业版中关于FPS的测试项分析

2016-02-25 08:59 323 查看

GameBench企业版中关于FPS的测试项分析

本文是基于GameBench提供的企业版的英文文档再加自己的理解把FPS的相关测试项进行了分析,如有版权问题请联系我及时删除。

前记

GameBench简介

GameBench企业版与免费版测试项覆盖情况对比

GameBench企业版的在数据提取及分享方面的优点

GameBench企业版的缺陷

Android显示原理

FPS测试介绍

FPS Median介绍

FPS Stability介绍

Janks介绍

前记

最近在做GamenBench企业版关于显示及GPU部分的适用评估,顺便脑补了一下Android显示原理及一些测试项的分析。在这里分享给需要的人,欢迎大家批评指正,共同学习进步。

GameBench简介

GameBench是一个性能测试工具,在PC及移动端测试都有着很大的影响力。详细介绍可以参看GameBench官网

GameBench企业版与免费版测试项覆盖情况对比

测试项免费版(是否支持)企业版(是否支持)
FPSYY
FPS MEDIANYY
FPS STABILITYNY
JANKSNY

GameBench企业版的在数据提取及分享方面的优势

可以取得测试周期内的实时帧率数据,便于测试数据积累及分析,而免费版无法直接获取。

企业版有Server端,便于测试数据的直接提取及分享。

GameBench企业版的缺陷

目前还不支持arm的Mali系列GPU,是最大的痛点。


Android显示原理

由于FPS(帧率)主要是衡量手机的显示流畅度的一个指标。因此,了解手机的显示原理对后面测试项的测试目的及原因会有更深入的理解和体会。

腾讯大讲堂中,year.zhu老师写的文章《Android显示原理简介》 详细的描述了Android应用程序是如何在屏幕上显示的,把帧缓冲区描述的淋漓尽致,清晰易懂。

FPS测试介绍

帧率是设备显示帧图像的频率。帧率用FPS表示。FPS为每秒时间内设备显示的帧数。GameBench记录了测试周期内所有针的时刻点,从而可以计算出帧率。

帧率对用户体验的影响:

a) 帧率过低时,手机不能及时有效的响应用户的操作手势,从而影响游戏交互体验;

b) 相邻时间内帧率的变化会导致画面变化速率不均匀。

基于上述原因,为了保证画面的流畅性,很多游戏把帧率锁定在一个较低的范围内。一般来说,FPS越高,游戏的体验性越好。但是不同的游戏类型FPS对其影响也不同。如FPS为30或40对一个2D的拼图游戏来讲,几乎看不出差别。但是,对一个3D射击类游戏来讲,会产生很大差异。

FPS Median介绍

FPS Median为测试周期内FPS的中位数。他代表了测试周期中大部分时间内的FPS水平。从一定程度上能够反应测试周期内手机的总体流畅性。相比于平均帧率它更能反应手机流畅性的中值。因为很多时候,菜单界面的FPS为0,而loading界面的FPS为60,这些都会很大程度上影响均值。

FPS Stability介绍

通常在游戏运行过程中,帧率不会始终保持平稳。因此,GameBench提供了帧率稳定性测试项。帧率稳定性反映了测试周期内FPS值在FPS中位数的正负20%范围内所占的比例。下图为反应帧率稳定性的测试结果图,及Gamebench计算得到的帧率稳定性数值。



Janks介绍

Janks是游戏测试周期内衡量流畅性的又一指标。当绘制一帧图像耗费的时间和手机显示更新周期发生变化时就会发生一次’jank’。Jank次数越多表示测试结果越差。每当jank发生时,表示当前帧比前一帧的绘制速度更快或者更慢。并且在jank发生的时间内,画面的变化将会不流畅。用户会感觉到卡顿。

Janks的计算方式:
γ=⌈l/r⌉
其中:
l为帧提交给display的时刻点与app开始绘画该帧的时刻点的差值;
r为手机显示更新周期。
γ每次发生变化时,就会发生’jank’.


在游戏测试周期内,游戏本身设定的目标FPS是一定的。得到一个稳定的latency(帧绘制时间)对用户体验非常重要。手机显示更新周期r是固定的。γ值为1时,表示在一个display周期内会显示一帧图,如果γ为2表示在2个display周期内会显示一帧图。在下图中,当l值从16ms以上变为16ms以下时,γ值从2变为了1,发生了’jank’.



关于FPS的相关介绍就先介绍到这,欢迎大家批评指正。

mail:kongchaobokong@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 测试 文档