小游戏性能评测标准
收藏
我的收藏为什么需要性能评测标准?
抖音小游戏性能评测标准建立的初衷是希望能引导开发者,通过对比,参考优秀游戏的性能数据,评估自身的优化方案,提升相关性能数据,提升用户体验。评测标准根据小游戏整体的性能数据表现,结合操作系统(Android/IOS)、机型分档(低,中,高)的维度建立。
开发者需要关注哪些性能指标
从小游戏的运行周期来看,区分为 启动阶段 和 运行阶段:
- •启动阶段:启动时长,该数据将显著影响用户打开留存率
- •运行阶段:卡顿率,内存Crash率、内存峰值、CPU占用、网络等
- •其他问题:包括渲染异常,JS异常等严重问题。
需要注意:存在部分数据由于系统的限制无法获取,所以会有Android和IOS上指标不一致,或含义不一样的情况。
评测环境与方法
从游戏的上线过程区分,我们主要从开发与外网两个环境进行评测。
开发阶段:
- •评测过程的客观环境更为稳定(比如固定的机型基线,网络环境等)
- •Profile数据更为详细,方便掌握性能细节
外网阶段:
- •基于统计角度进行评测,从整体采样数据取反映游戏质量
- •覆盖开发测试阶段无法预估的业务场景,比如网络异常、特定条件下的JS异常等
评测标准细则
不同的游戏,画面表现力及游戏复杂度相差都较大,此处仅从大盘数据上做一个数据参考基于h5的普通小游戏 和 基于webassmbly的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% | |
普通 iOS | 3.00% | ||
FPS均值 | Unity Native Android | 30.00 | |
Unity WebGL Android | 30.00 | ||
Unity WebGL iOS | 30.00 | ||
普通 Android | 30.00 | ||
普通 iOS | 30.00 | ||
内存占用率 | Unity Native Android | 14.00% | |
Unity WebGL Android | 17.00% | ||
Unity WebGL iOS | 23.00% | ||
普通 Android | 15.00% | ||
普通 iOS | 32.00% | ||
内存均值(单位:MB) | Unity Native Android | 540.00 | |
Unity WebGL Android | 660.00 | ||
Unity WebGL iOS | 1100.00 | ||
普通 Android | 410.00 | ||
普通 iOS | 1300.00 | ||
内存异常退出时游戏启动时长(单位:分钟) | Unity WebGL iOS | 9.00 | |
普通 iOS | 19.00 | ||
Unity Heap 增长后内存最大值(80分位)(单位:MB) | Unity WebGL Android | 270.00 | |
Unity WebGL iOS | 320.00 | ||
网络性能 | 网络请求错误率(request) | Unity Native Android | 0.10% |
Unity WebGL Android | 0.10% | ||
Unity WebGL iOS | 0.20% | ||
普通 Android | 0.20% | ||
普通 iOS | 0.20% | ||
网络请求耗时(request)(单位:ms) | Unity Native Android | 210 | |
Unity WebGL Android | 210 | ||
Unity WebGL iOS | 300 | ||
普通 Android | 170 | ||
普通 iOS | 550 | ||
网络请求错误率(download) | Unity Native Android | 0.10% | |
Unity WebGL Android | 0.10% | ||
Unity WebGL iOS | 0.10% | ||
普通 Android | 0.10% | ||
普通 iOS | 0.10% | ||
网络请求耗时(download)(单位:ms) | Unity Native Android | 700 | |
Unity WebGL Android | 700 | ||
Unity WebGL iOS | 250 | ||
普通 Android | 200 | ||
普通 iOS | 150 |
文档历史
更新日期 | 文档 |
2024.11.01 | 当前标准 |