本文将指导开发者如何使用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文件即可。

  • 加载后的效果如下图所示: