tencent cloud

腾讯云超级应用服务

其他

Download
聚焦模式
字号
最后更新时间: 2026-08-14 11:38:00

小游戏性能数据拉取接口接入说明

本文档面向接入 MiniApp SDK 的宿主 App 开发者,说明如何主动获取正在运行的小游戏的性能监控数据(启动耗时、帧率、CPU、内存、卡顿、下载流量等),用于搭建自有的小游戏性能监控体系。

一、功能说明

SDK 自 2.4.2 起提供该能力,核心特性:
主动拉取:宿主自行控制调用时机与频率,同步返回性能数据快照,无需注册回调。
覆盖维度:启动耗时、帧率 / 帧耗时、CPU、内存、卡顿次数、运行时长、下载数据。
卡顿检测:内置逐帧检测,统计卡顿(Jank)与严重卡顿(BigJank)次数。
低侵入:首帧渲染完成后自动开始采集,宿主不调用时无额外开销。

二、使用方法

#import <TCMPPSDK/TCMPPSDK.h>

// 小游戏启动成功(handleStartUpSuccessWithApp:)后按周期轮询(如每秒 1 次)
TMFMiniGamePerfData *data =
[[TMFMiniAppSDKManager sharedInstance] miniGamePerfDataForAppID:appID];
if (data) {
// 解析字段,见下方字段说明
}
返回 nil 的情形:appID 为空、小游戏未在运行、该 appID 为小程序(非小游戏)、首帧渲染完成前容器未就绪。取值前请做空判断。

三、字段说明

1. 基本信息

字段
含义
appid
小游戏唯一标识
version
小游戏版本号
sdkVersion
SDK 版本号
baseLibVersion
基础库版本号

2. 启动耗时(毫秒)

字段
含义
requesttime
拉取小游戏配置信息的网络耗时
loadtime
从点击到逻辑层就绪(含基础库加载 + 代码注入)
readytime
从点击到首屏渲染就绪(首帧出现)
说明:
边界:未记录到起点(如部分热启动路径)时,三项均返回 0。

3. 运行性能

字段
单位
含义
fpsAvg
帧/秒
平均帧率
fpsVariance
-
帧率稳定性,方差越大越不稳定
frameTime
ms
平均单帧渲染耗时
jank
卡顿次数(单帧 ≥ 50ms,约低于 20fps)
bigJank
严重卡顿次数(单帧 ≥ 100ms,约低于 10fps),同时计入 jank
cpuAvg / cpuPeak
%
进程 CPU 占用均值 / 峰值(可能超过 100%)
memoryAvg / memoryPeak
MB
平均内存 / 内存峰值(物理内存绝对值)
memoryGrowth
MB
内存增量(峰值 − 启动前基准)
duration
ms
运行时长
fpsSampleTime
ms
帧率数据采集时刻(epoch 毫秒),仅 JIT 模式有意义;非 JIT 恒为 0

4. 下载数据

字段
单位
含义
flow
字节
累计下载流量
downtime
ms
累计下载耗时
modulename
-
最近一次下载的主包 / 分包名称

四、注意事项

1. 卡顿定义:单帧渲染耗时 ≥ 50ms 记为 jank,≥ 100ms 记为 bigJank(后者同时计入 jank)。
2. JIT 渲染模式:小游戏分非 JIT 与 JIT(WKWebView + 独立 GPU 进程)两种渲染模式。JIT 下原生侧无法直采帧率,改由基础库 JS 侧采样回传,每次拉取为上一次采样值(滞后一次),可用 fpsSampleTime 判断新鲜度;若基础库不支持回传,JIT 下 fpsAvg / frameTime / jank / bigJank / fpsVariance 为 0,CPU / 内存 / 启动耗时 / 下载数据不受影响。
3. 数据为累计快照:返回首帧渲染完成以来的累计统计(均值 / 峰值 / 计数),拉取不清空。
4. 调用频率:接口为同步返回、开销极低,可按需轮询(Demo 中为每秒 1 次)。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈