# 小游戏适配方案性能标准

## 为什么需要性能评测标准？

Unity性能评测标准用于开发者优化游戏性能数据，提升用户体验。评测标准根据小游戏整体的性能数据表现，结合操作系统、机型分档等多种维度建立。

## 评测标准细则

### 性能基线

> 1. 性能基线机型并非特定，但建议综合CPU、内存、GPU等选取性能相当的机型
> 2. 更新时间：2023-05-17

| 档位 |Android参考机型  | iOS参考机型  |
| --- | --- |--- |
| 高档 | ⼩⽶10(⾼通骁⻰865) | iPhone13 |
| 中档 | VIVO S7(⾼通骁⻰765G)、红米k30 | iPhone11 |
| 低档 | OPPO r9s(通骁⻰625) | iPhone7/8/X |

### 指标与测量方法

Unity小游戏的启动可参考[启动流程与时序](/minigame/dev/guide/game-engine/unity-webgl-transform/Design/Startup)

|   | 定义 | 测量方法 |
| --- | --- |--- |
| 首资源包 | 游戏首个data资源文件 | 位于导出目录/webgl/md5.webgl.data.unityweb.bin.txt, CDN使用gzip压缩 |
| WASM代码 | 游戏代码压缩包 | 位于导出目录/minigame/wasmcode/md5.webgl.wasm.code.unityweb.wasm.br, CDN使用gzip压缩 |
| 核心资源 | 除首资源包外进入游戏核心玩法所需的资源量 | 业务自定下载，通常为AssetBundle |
| CALLMAIN | 引擎和首场景(Loading)初始化 | 通过timelog,或日志查看“CALLMAIN耗时” |
| 游戏初始化完成 | 引擎和首场景完成，出现首个业务场景 | 通过timelog, 或日志查看“游戏启动耗时” |
| 游戏可交互完成 | 游戏核心场景完成 | 通常定义为用户可交互的时机，可通过[启动留存上报能力](/minigame/dev/guide/game-engine/unity-webgl-transform/Design/ReportStartupStat)上报统计。eg：休闲游戏为**核心玩法**，RPG游戏为**创角** |
| 内存峰值 | 内存峰值 | 进程内存峰值，测量方法请参考[优化Unity WebGL的内存](/minigame/dev/guide/game-engine/unity-webgl-transform/Design/OptimizationMemory) |
| 内存异常退出运行时长| 由于内存不足而使小游戏发生Crash时，当前游戏的运行时长，表示游戏的稳定运行时长 | 通过[小游戏数据助手](/minigame/analysis/assistant.md)查看（仅包含线上用户数据） 数据路径：`数据 - 性能分析 - 运行性能 - 内存异常退出分析` |
| 帧率 | 核心玩法的平均帧率 | 测量5分钟以上游戏核心玩法帧率，取平均值 |
| 卡顿率 | 核心玩法的平均卡顿率 | 测量5分钟以上游戏核心玩法卡顿率，取平均值 |

### 代码与资源体积

| 能力 | 下载量 |
| --- | --- |
| 首资源包(gzip压缩后) |  评测标准更新时间：2023-05-17（历史现网标准请查阅[文档](PerfMeasure_old)）

评测标准依赖于 **现网真实玩家上报的性能数据** 和 **人工批量测试数据** 统计得出。

#### 开发者需要关注哪些性能指标

| 阶段 | 重点关注指标 |
| :---: | --- |
| 启动 | 1. 游戏初始化完成耗时 2. 游戏可交互耗时 |
| 运行 | 1. 内存峰值 2. FPS均值 3. 卡顿率 4. 内存异常退出率(iOS) 5. 内存异常退出运行时长 |
| 兼容性问题 | 1. 逻辑异常 2. 黑/白屏 3. JS Error |

#### 游戏类型说明

| 分类 | 定义  |
| :---: | --- |
| 重度 | 玩法较复杂，通常包含较多游戏场景或支持多人在线游戏（eg: MMO、SLG品类等） |
| 中度 | 包含一定养成玩法、内置内购商城等（eg: 模拟经营、卡牌等） |
| 轻度 | 仅包含简单操作、无养成体系、无内购，以休闲娱乐为主（eg: 棋牌等） |

#### iOS性能评测标准

***启动性能***

![](https://res8.wxqcloud.qq.com.cn/wxdoc/286e0a05-0643-4b4f-bdd4-865ec4afc1b3.png)

***运行性能***

重点关注：`内存峰值`、`GC后内存峰值`、`内存异常退出率`、`内存异常退出运行时长`

![](https://res8.wxqcloud.qq.com.cn/wxdoc/6e057a93-9bae-48c9-a5e9-9c6618ee9992.png)

#### Android性能评测标准

***启动性能***

![](https://res8.wxqcloud.qq.com.cn/wxdoc/3846f501-550f-46a5-bcc1-ded157ce46c8.png)

***运行性能***

![](https://res8.wxqcloud.qq.com.cn/wxdoc/75e74a6c-04cf-42c1-a363-d7bcdfba8900.png)
