性能测试1-术语
性能测试的术语
1、FPS/FrameTime
FPS全名叫Frame Per Second,平均每秒的帧数,也叫帧率。若游戏满帧是60帧,也就是一秒60帧。
FrameTime就是帧的时间,单位一般是ms毫秒,1秒=1000ms。若FrameTime平均是20ms,则FPS=1000/20=50
2、卡顿
具体可以参考PerfDog对卡顿的定义:PerfDog | 移动全平台性能测试分析专家 (qq.com)
3、GameThread/RenderThread/GPU/FrameTime
GameThread是游戏线程,一般处理游戏逻辑,比如物理,角色的移动,网络收发等。GameThreadTime就是每帧逻辑线程的执行时间,单位是ms
RenderThread是渲染线程,跟渲染有关系,画面的处理,遮挡剔除,距离裁剪,提交渲染等。RenderThreadTime就是每帧渲染线程的执行时间,单位是ms
GPU,渲染线程提交GPU渲染,由GPU绘制最终的画面,提交至屏幕输出。GPUTime就是绘制一帧画面的时间,单位是ms。
FrameTime是一帧时间,由上述三个指标的最大值决定。
4、内存
内存我们一般是关注峰值,内存峰值跟内存崩溃密切相关。均值的意义并不大,比如APP全程内存只有1G,某1秒突然到2G,虽然均值只有1G左右,但是app crash了。另一种情况,全程都是1.5G,虽然均值高,但是没有内存崩溃的风险。
5、OOM(内存溢出)
全称叫Out of Memory,内存超过系统的某个阈值限制,会触发程序Crash。OOM的阈值不同机型不一样,以iOS为例,
总内存1G,OOM阈值645M:
- iPhone6: 645MB/1024MB/62% (iOS 8.x)
- iPhone6+: 645MB/1024MB/62% (iOS 8.x)
总内存2G,OOM阈值1360-1396M:
- iPhone6s: 1396MB/2048MB/68% (iOS 9.2)
- iPhone6s+: 1392MB/2048MB/68% (iOS 10.2.1)
- iPhoneSE: 1395MB/2048MB/69% (iOS 9.3)
- iPhone7: 1395/2048MB/68% (iOS 10.2)
- iPhone8: 1364/1990MB/70% (iOS 12.1)
总内存3G,OOM阈值1790M:
- iPhone 7P
- iPhone 8P
- iPhone X
- iPhone XR
总内存4G,OOM阈值2040-2080M:
- iPhone XS
- iPhone XS Max
- iPhone XR
- iPhone 11
- iPhone 11 Pro/Pro Max
- iPhone 12
- iPhone 13
总内存6G,OOM阈值2080M:
- iPhone 12 Pro/Pro Max
- iPhone 13 Pro/Pro Max
6、DrawCall
引擎每次提交渲染资源会调用一次Draw函数,DrawCall就是一帧里面,引擎调用Draw的次数,是一个常见的渲染性能指标。DC越多,渲染线程越差。
7、面数(也叫Primitives,Triangles)
渲染画面,模型都是由若干个三角面组成的,如下图的兔子,就是有很多三角面。面数越多,模型越精细,视觉效果更逼真。但是面数太多,帧率会下降、内存也会增加。