本文将指导开发者如何使用CPU Profile能力。
# 开启JavaScript CPU Profile
有2种方式可开启CPU Profile能力。
# 自主决定开启时机
开发者可在代码中注入GameGlobal.startCpuProfile()
和GameGlobal.stopCpuProfile()
来开始和结束CPU Profile,时间最长为3分钟。
如果开始Profile后,3分钟内未结束,后台将自动结束,并输出CPU Profile文件。
开启JavaScript CPU Profile的示例代码如下:
// 开启 JavaScript CPU Profile
if ( typeof GameGlobal !== "undefined" && typeof GameGlobal.startCpuProfile !== "undefined" ) {
GameGlobal.startCpuProfile()
console.log("开始JavaScript CPU Profile!")
}
结束JavaScript CPU Profile的示例代码如下:
// 结束 JavaScript CPU Profile
if ( typeof GameGlobal !== "undefined" && typeof GameGlobal.stopCpuProfile !== "undefined" ) {
GameGlobal.stopCpuProfile()
console.log("结束JavaScript CPU Profile!")
}
注意:
GameGlobal.startCpuProfile()
和GameGlobal.stopCpuProfile()
仅在云测试环境下生效,不影响体验版或者现网环境下的游戏表现
# 测试全程开启
在“提交测试”时在任务选项中勾选“导出CPU Profile”,即可开启CPU Profile能力,并在测试全程执行。
注意:开启Profile可能导致测试过程中的内存占用增加,且有小概率导致小游戏异常退出
# 查看CPU Profile结果
测试完成后,在"测试报告-详细报告-设备报告详情"下可以下载CPU Profile文件,导入微信开发者工具中查看。
# 在测试报告中直接查看
在"测试报告-详细报告-运行性能"下可以查看对CPU Profile文件的解析。如上图,点击"展开详细数据",可以查看对CPU Profile文件的解析数据,包含:
- 单个函数独占执行时间Top10列表:单个函数不包含被调用函数的执行时间的top10函数信息列表
- 单个函数总执行时间Top10列表:单个函数包含被调用函数的执行时间的top10函数信息列表
- 录制过程函数执行独占时间Top10列表:整个运行过程中函数总的独占执行时间的top10函数信息列表
- 录制过程函数执行总时间Top10列表:整个运行过程中函数总的执行时间的top10函数信息列表
# 导入微信开发者工具中查看
点击"下载cpu profile文件"链接,即可下载对应的文件,该文件可以导入微信开发者工具中查看详细的执行过程。 导入步骤如下:
在微信开发者工具中的"调试器"下,选择"JavaScript Profiler"。如果没有该选项,点击右侧"┇"-"More Tools"-"JavaScript Profiler"选择。
点击"Load"按钮,选择下载的CPU Profile文件即可。
加载后的效果如下图所示: