# 性能指标与评分方法

# 概述

目前会依据小游戏的接入方式,将小游戏划分为 普通游戏快适配游戏 两种类型,平台将依据不同接入类型的游戏进行相应指标的数据采集统计和评分。

# 评分细则

# 评分方法

目前性能指标主要划分为三类:启动、运行和网络,依据性能指标所达到的评测标准档位计算相应的指标分数,最后根据各个性能指标的权重和公式计算出总得分。计算公式如下:

注意:

  1. 评测标准得分规则:优秀(95分)、平台建议(80分)、达标(60分)
  2. 若性能指标的值处于不同标准之间,将按照差值进行得分换算,换算方式可参照例子(如:总启动耗时「优秀-1800ms;平台建议-2200ms;达标-2750ms」,游戏当前指标的数据为 2000ms,则该指标的得分为 87.5 分)

# 评测标准

  • 普通游戏:依据游戏当前的品类,按照小游戏性能评测标准中提及的性能指标和标准,对游戏的性能表现进行统计和评分。
  • 快适配游戏:依据游戏当前的玩法分类(默认为中度类型游戏),按照快适配游戏评测标准中提及的性能指标和标准,对游戏的性能表现进行统计和评分。(游戏可依据自身游戏复杂度修改当前游戏的玩法分类)

# 评分权重

权重范围为0~10,权重值越高,对评分结果影响越大,各个指标的权重会随着小游戏的发展而修改。

# 普通游戏

注意:普通游戏将依据游戏的运行时,区分为普通模式和高性能模式,在高性能模式下,将移除部分性能指标的统计,详见下方表格标注。

分类 指标 权重 指标解释
启动 代码包下载耗时 6 游戏主代码包下载时长
游戏代码注入耗时 6 game.js注入耗时
首帧耗时 7 从游戏启动点击到首帧(小游戏框架loading完成后的第一个帧画面)渲染完成的总耗时
运行 FPS 3 每秒渲染帧数
卡顿率 3 卡顿率=游戏卡顿总时长/游戏单次运行总时长,更多详细资料可参考卡顿率计算规则
内存均值 5 仅普通模式
小游戏运行过程中总内存均值,内存统计口径详见社区文档
内存Crash率 7 由于内存占用过高而导致游戏被KILL;
内存异常退出率=异常退出次数/游戏启动进入首屏的次数
内存Crash时游戏运行时长 5 由于内存占用过大而导致游戏被系统KILL掉发生异常退出时,游戏当前的运行时长
网络 Request失败率 6 Request失败率=接口的错误(HTTP Status Code: [400~599])/接口总数
Download失败率 6 Download失败率=接口的错误(HTTP Status Code: [400~599])/接口总数

# 快适配游戏

分类 指标 权重 指标解释
启动 首资源包下载耗时 6 游戏首个data资源文件的下载耗时
WASM代码包下载耗时 6 游戏WASM代码压缩包下载耗时
CALLMAIN耗时 6 引擎和首场景(Loading)初始化的耗时
游戏初始化完成 6 从游戏启动点击到引擎和首场景完成且出现首个业务场景的总耗时
游戏可交互耗时 5 从游戏启动点击到用户实际可交互的总时长,通常指进入游戏的核心场景(如:新手引导、大厅等)
运行 FPS 3 每秒渲染帧数
卡顿率 3 卡顿率=游戏卡顿总时长/游戏单次运行总时长,更多详细资料可参考卡顿率计算规则
内存Crash率 7 由于内存占用过高而导致游戏被KILL;
内存异常退出率=异常退出次数/游戏启动进入首屏的次数
内存Crash时游戏运行时长 5 由于内存占用过大而导致游戏被系统KILL掉发生异常退出时,游戏当前的运行时长
网络 Request失败率 6 Request失败率=接口的错误(HTTP Status Code: [400~599])/接口总数
Download失败率 6 Download失败率=接口的错误(HTTP Status Code: [400~599])/接口总数