小游戏性能评测标准
为什么需要性能评测标准?
抖音小游戏性能评测标准建立的初衷是希望能引导开发者,通过对比,参考优秀游戏的性能数据,评估自身的优化方案,提升相关性能数据,提升用户体验。评测标准根据小游戏整体的性能数据表现,结合操作系统(Android/iOS)、机型分档(低,中,高)的维度建立。
开发者需要关注哪些性能指标
从小游戏的运行周期来看,区分为 启动阶段 和 运行阶段:
- •启动阶段:启动时长,该数据将显著影响用户打开留存率
- •运行阶段:卡顿率,内存Crash率、内存峰值、CPU占用、网络等
- •其他问题:包括渲染异常,JS异常等严重问题。
需要注意:存在部分数据由于系统的限制无法获取,所以会有Android和iOS上指标不一致,或含义不一样的情况。
评测环境与方法
从游戏的上线过程区分,我们主要从开发与外网两个环境进行评测。
开发阶段:
- •评测过程的客观环境更为稳定(比如固定的机型基线,网络环境等)
- •Profile数据更为详细,方便掌握性能细节
外网阶段:
- •基于统计角度进行评测,从整体采样数据去反映游戏质量
- •覆盖开发测试阶段无法预估的业务场景,比如网络异常、特定条件下的JS异常等
评测标准细则
不同的游戏,画面表现力及游戏复杂度相差都较大,此处仅从大盘数据上做一个数据参考基于 h5 的普通小游戏 和 基于 WebAssembly 的 unity 小游戏 性能上差异较大,应区分来看
测评标准:
指标分类 | 指标名称 | 引擎类型 | 合格值 |
启动性能 | 首帧到达耗时(单位:ms) | Unity Native Android | 11400 |
Unity WebGL Android | 12500 | ||
Unity WebGL iOS | 9700 | ||
普通 Android | 5600 | ||
普通 iOS | 3200 | ||
首帧到达耗时-无包启动(单位:ms) | Unity Native Android | 15200 | |
Unity WebGL Android | 18200 | ||
Unity WebGL iOS | 16500 | ||
普通 Android | 7000 | ||
普通 iOS | 4900 | ||
首包大小(单位:MB) | Unity Native Android | 30 | |
Unity WebGL Android | 30 | ||
Unity WebGL iOS | 30 | ||
普通 Android | 3 | ||
普通 iOS | 3 | ||
资源准备完成(单位:ms) | Unity Native Android | 18000 | |
Unity WebGL Android | 12800 | ||
Unity WebGL iOS | 11000 | ||
普通 Android | 600 | ||
普通 iOS | 650 | ||
代码注入完成 | Unity Native Android | 20 | |
Unity WebGL Android | 3100 | ||
Unity WebGL iOS | 4200 | ||
普通 Android | 2400 | ||
普通 iOS | 430 | ||
首屏渲染完成 | Unity Native Android | 70 | |
Unity WebGL Android | 3600 | ||
Unity WebGL iOS | 470 | ||
普通 Android | 1600 | ||
普通 iOS | 1200 | ||
wasm代码编译耗时 | Unity WebGL Android | 330 | |
Unity WebGL iOS | 610 | ||
callmain耗时 | Unity WebGL Android | 1900 | |
Unity WebGL iOS | 1300 | ||
可交互耗时(单位:ms) | Unity Native Android | 26000 | |
Unity WebGL Android | 21000 | ||
Unity WebGL iOS | 18000 | ||
普通 Android | 17000 | ||
普通 iOS | 11000 | ||
可交互耗时-无包启动(单位:ms) | Unity Native Android | 26000 | |
Unity WebGL Android | 42000 | ||
Unity WebGL iOS | 36000 | ||
普通 Android | 24000 | ||
普通 iOS | 17000 | ||
运行性能 | 卡顿率 | Unity Android | 5.00% |
Unity WebGL iOS | 8.00% | ||
普通 Android | 5.00% | ||
普通 iOS | 7.00% | ||
渲染异常率 | Unity Native Android | 3.00% | |
Unity WebGL Android | 2.50% | ||
Unity WebGL iOS | 2.00% | ||
普通 Android | 2.00% | ||
普通 iOS | 1.00% | ||
iOS高性能/高性能+内存崩溃率 | Unity WebGL iOS | 3.00% | |