本文将指导开发者如何使用CPU Profile能力。

# 开启JavaScript CPU Profile
有2种方式可开启CPU Profile能力。 

## 自主决定开启时机

开发者可在代码中注入`GameGlobal.startCpuProfile()`和`GameGlobal.stopCpuProfile()`来开始和结束CPU Profile，时间最长为3分钟。  
如果开始Profile后，3分钟内未结束，后台将自动结束，并输出CPU Profile文件。

开启JavaScript CPU Profile的示例代码如下：

```javascript
// 开启 JavaScript CPU Profile
if ( typeof GameGlobal !== "undefined" && typeof GameGlobal.startCpuProfile !== "undefined" ) { 
    GameGlobal.startCpuProfile()
    console.log("开始JavaScript CPU Profile!")
}
```

结束JavaScript CPU Profile的示例代码如下：

```javascript
// 结束 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能力，并在测试全程执行。

![](https://res8.wxqcloud.qq.com.cn/wxdoc/7aa8bf69-0012-48ec-8432-e9cd34466928.png)

> 注意：开启Profile可能导致测试过程中的内存占用增加，且有小概率导致小游戏异常退出

# 查看CPU Profile结果
测试完成后，在"测试报告-详细报告-设备报告详情"下可以下载CPU Profile文件，导入微信开发者工具中查看。
![](https://res8.wxqcloud.qq.com.cn/wxdoc/ffefd4a0-fbaf-4c52-b5ba-0d6ba453fb69.png)

## 在测试报告中直接查看
![](https://res8.wxqcloud.qq.com.cn/wxdoc/9c663811-3051-46be-8a05-066532b249b7.png)

在"测试报告-详细报告-运行性能"下可以查看对CPU Profile文件的解析。如上图，点击"展开详细数据"，可以查看对CPU Profile文件的解析数据，包含：
- 单个函数独占执行时间Top10列表：单个函数不包含被调用函数的执行时间的top10函数信息列表
- 单个函数总执行时间Top10列表：单个函数包含被调用函数的执行时间的top10函数信息列表
- 录制过程函数执行独占时间Top10列表：整个运行过程中函数总的独占执行时间的top10函数信息列表
- 录制过程函数执行总时间Top10列表：整个运行过程中函数总的执行时间的top10函数信息列表
![](https://res8.wxqcloud.qq.com.cn/wxdoc/1a58fc85-483c-433c-a5f9-e0845769df65.png)

## 导入微信开发者工具中查看
点击"下载cpu profile文件"链接，即可下载对应的文件，该文件可以导入微信开发者工具中查看详细的执行过程。
导入步骤如下：
- 在微信开发者工具中的"调试器"下，选择"JavaScript Profiler"。如果没有该选项，点击右侧"┇"-"More Tools"-"JavaScript Profiler"选择。
![](https://res8.wxqcloud.qq.com.cn/wxdoc/9d798e52-b749-4ac0-b26e-4e2ae24f2b38.png)

- 点击"Load"按钮，选择下载的CPU Profile文件即可。
![](https://res8.wxqcloud.qq.com.cn/wxdoc/cb04d3b1-a840-445a-bfe1-02c55f69d51c.png)

- 加载后的效果如下图所示：
![](https://res8.wxqcloud.qq.com.cn/wxdoc/0cb34f01-fd72-47da-b275-0fe7bd93e6ed.png)
