866 lines
23 KiB
Markdown
866 lines
23 KiB
Markdown
---
|
||
sidebarDepth: 1
|
||
---
|
||
# 调试
|
||
|
||
## GetEnableReconnectNetgame
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
获取是否允许断线重连
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否允许断线重连 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.GetEnableReconnectNetgame()
|
||
```
|
||
|
||
|
||
|
||
## GetKeepResourceWhenTransfer
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
获取快速切服设置
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否设置快速切服 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
# 先打开快速切服开关
|
||
import mod.client.extraClientApi as clientApi
|
||
print clientApi.GetKeepResourceWhenTransfer()
|
||
```
|
||
|
||
|
||
|
||
## GetResourceFastload
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
获取资源快速加载设置
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否开启资源快速加载 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
print clientApi.GetResourceFastload()
|
||
```
|
||
|
||
|
||
|
||
## ReloadAllMaterials
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
重新加载所有材质文件
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.ReloadAllMaterials()
|
||
```
|
||
|
||
|
||
|
||
## ReloadAllShaders
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
重新加载所有Shader文件
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 备注
|
||
- 若修改到材质,建议使用ReloadAllMaterials方法。
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.ReloadAllShaders()
|
||
```
|
||
|
||
|
||
|
||
## ReloadOneShader
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
重新加载某个Shader文件
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| shaderName | str | shader名称 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 备注
|
||
- 若同时修改了多个Shader,建议使用ReloadAllShaders方法。
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.ReloadOneShader("entity.fragment")
|
||
```
|
||
|
||
|
||
|
||
## SetEnableReconnectNetgame
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
设置是否允许断线重连
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| keep | bool | 是否允许断线重连 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.SetEnableReconnectNetgame(True)
|
||
```
|
||
|
||
|
||
|
||
## SetKeepResourceWhenTransfer
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
设置快速切服
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| keep | bool | 是否在切服时保留资源,True为保留资源,False为不保留资源 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 备注
|
||
- 快速切服通过在切服时保留资源实现,可以缩短切服等待时间。
|
||
- 切服前后的两个服,需要保证资源完全一样,即服务器类型一致。
|
||
- 快速切服设置在退出游戏之前一直有效,如果要切到其他类型的服务器,需要在切服前调用clientApi.SetKeepResourceWhenTransfer(False)
|
||
|
||
- 示例
|
||
|
||
```python
|
||
# 先打开快速切服开关
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.SetKeepResourceWhenTransfer(True)
|
||
|
||
# 然后切服
|
||
import lobbyGame.netgameApi as lobbyGameApi
|
||
lobbyGameApi.TransferToOtherServer('123', 'game')
|
||
```
|
||
|
||
|
||
|
||
## SetResourceFastload
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
设置资源快速加载
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fastload | bool | 是否在进入游戏时快速加载资源,True为快速加载资源,False为不快速加载资源 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 备注
|
||
- 开启资源快速加载,可以缩短切服等待时间。
|
||
- 开启资源快速加载,切服速度比设置SetKeepResourceWhenTransfer慢,但不要求切服前后两个服资源完全一致。
|
||
- 物品和方块的自定义贴图需要定义在item_texture.json和terrain_texture.json中,才能开启资源快速加载
|
||
- 设置资源快速加载在退出游戏之前一直有效,退出游戏后自动恢复为False
|
||
|
||
- 示例
|
||
|
||
```python
|
||
# 先设置资源快速加载
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.SetResourceFastload(True)
|
||
|
||
# 然后切服
|
||
import lobbyGame.netgameApi as lobbyGameApi
|
||
lobbyGameApi.TransferToOtherServer('123', 'game')
|
||
```
|
||
|
||
|
||
|
||
## StartMemProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端脚本内存分析,启动后调用[StopMemProfile](#stopMemProfile)即可在路径fileName生成函数内存火焰图,此接口只支持PC端。生成的火焰图可以用浏览器打开,推荐chrome浏览器。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 备注
|
||
- 由于分析时并不区分服务端和客户端,在进行分析时,只需要其中一端startmemprofile和stopmemprofile即可,无需双端同时进行。
|
||
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程5:实用知识/第6节:插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartMemProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMemProfile
|
||
serverApi.StopMemProfile(fileName)
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
开始启动客户端脚本内存分析,启动后调用[StopMemProfile](#stopMemProfile)即可在路径fileName生成函数内存火焰图,此接口只支持PC端。生成的火焰图可以用浏览器打开,推荐chrome浏览器。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 备注
|
||
- 由于分析时并不区分服务端和客户端,在进行分析时,只需要其中一端startmemprofile和stopmemprofile即可,无需双端同时进行。
|
||
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程5:实用知识/第6节:插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartMemProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMemProfile
|
||
clientApi.StopMemProfile(fileName)
|
||
```
|
||
|
||
|
||
|
||
## StartMultiProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端与客户端双端脚本性能分析,启动后调用[StopMultiProfile](#stopmultiprofile)即可在路径fileName生成函数性能火焰图。双端采集时数据误差较大,建议优先使用[StartProfile](#startprofile)单端版本,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartMultiProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMultiProfile
|
||
serverApi.StopMultiProfile()
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端与客户端双端脚本性能分析,启动后调用[StopMultiProfile](#stopmultiprofile)即可在路径fileName生成函数性能火焰图。双端采集时数据误差较大,建议优先使用[StartProfile](#startprofile)单端版本,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartMultiProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMultiProfile
|
||
clientApi.StopMultiProfile()
|
||
```
|
||
|
||
|
||
|
||
## StartProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端脚本性能分析,启动后调用[StopProfile](#stopprofile)即可在路径fileName生成函数性能火焰图,此接口只支持PC端。生成的火焰图可以用浏览器打开,推荐chrome浏览器。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 备注
|
||
- 火焰图主页面示例:<br>
|
||
- 如火焰图所示,竖直方向表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。分析性能时主要看火焰图的宽度(其中颜色没有特别意义),火焰图越宽,表示该函数对整体性能的消耗越大。因此需要对该函数进行优化。
|
||
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程5:实用知识/第6节:插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
|
||
- 优化的核心主要是减少调用次数以及优化函数的写法。其中对于开发者而言,只需要关注开发者开发的代码即可,对于部分函数调用到mod框架或者引擎顶层框架进而导致性能消耗较大的,可以尝试通过减少调用次数来进行优化。
|
||
- 另外,火焰图支持通过右上方的Search框或者“F3”快捷键对函数关键词进行搜索。同时可以点击函数缩放查看对应的调用栈。
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopProfile
|
||
serverApi.StopProfile()
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
开始启动客户端脚本性能分析,启动后调用[StopProfile](#stopprofile)即可在路径fileName生成函数性能火焰图,此接口只支持PC端。生成的火焰图可以用浏览器打开,推荐chrome浏览器。
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 备注
|
||
- 火焰图主页面示例:<br>
|
||
- 如火焰图所示,竖直方向表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。分析性能时主要看火焰图的宽度(其中颜色没有特别意义),火焰图越宽,表示该函数对整体性能的消耗越大。因此需要对该函数进行优化。
|
||
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程5:实用知识/第6节:插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
|
||
- 优化的核心主要是减少调用次数以及优化函数的写法。其中对于开发者而言,只需要关注开发者开发的代码即可,对于部分函数调用到mod框架或者引擎顶层框架进而导致性能消耗较大的,可以尝试通过减少调用次数来进行优化。
|
||
- 另外,火焰图支持通过右上方的Search框或者“F3”快捷键对函数关键词进行搜索。同时可以点击函数缩放查看对应的调用栈。
|
||
- 上架时请去掉这个接口的调用
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopProfile
|
||
clientApi.StopProfile()
|
||
```
|
||
|
||
|
||
|
||
## StartRecordEvent
|
||
|
||
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
|
||
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端与客户端之间的脚本事件收发统计,启动后调用[StopRecordEvent](#stoprecordevent)即可获取两个函数调用之间脚本事件收发的统计信息,仅支持租赁服与Apollo网络服环境(不支持单机环境)
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
suc = serverApi.StartRecordEvent()
|
||
# 之后通过计时器或者其他触发方式调用StopRecordEvent
|
||
result = serverApi.StopRecordEvent()
|
||
for eventName, data in result.iteritems():
|
||
print "event[{}] send={} sendSize={} recv={} recvSize={}".format(eventName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
|
||
```
|
||
|
||
|
||
|
||
## StartRecordPacket
|
||
|
||
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
|
||
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
开始启动服务端与客户端之间的引擎收发包统计,启动后调用[StopRecordPacket](#stoprecordpacket)即可获取两个函数调用之间引擎收发包的统计信息,仅支持租赁服与Apollo网络服环境(不支持单机环境)
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
suc = serverApi.StartRecordPacket()
|
||
# 之后通过计时器或者其他触发方式调用StopRecordPacket
|
||
result = serverApi.StopRecordPacket()
|
||
for packetName, data in result.iteritems():
|
||
print "packet[{}] send={} sendSize={} recv={} recvSize={}".format(packetName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
|
||
```
|
||
|
||
|
||
|
||
## StopMemProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
停止服务端脚本内存分析并生成火焰图,与[StartMemProfile](#startMemProfile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartMemProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMemProfile
|
||
serverApi.StopMemProfile(fileName)
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
停止客户端脚本内存分析并生成火焰图,与[StartMemProfile](#startMemProfile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartMemProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMemProfile
|
||
clientApi.StopMemProfile(fileName)
|
||
```
|
||
|
||
|
||
|
||
## StopMultiProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
停止双端脚本性能分析并生成火焰图,与[StartMultiProfile](#startmultiprofile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartMultiProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMultiProfile
|
||
serverApi.StopMultiProfile()
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
停止双端脚本性能分析并生成火焰图,与[StartMultiProfile](#startmultiprofile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartMultiProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopMultiProfile
|
||
clientApi.StopMultiProfile()
|
||
```
|
||
|
||
|
||
|
||
## StopProfile
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
### 服务端接口
|
||
|
||
<span id="s0"></span>
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
停止服务端脚本性能分析并生成火焰图,与[StartProfile](#startprofile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
serverApi.StartProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopProfile
|
||
serverApi.StopProfile()
|
||
```
|
||
|
||
|
||
|
||
### 客户端接口
|
||
|
||
<span id="c0"></span>
|
||
method in mod.client.extraClientApi
|
||
|
||
- 描述
|
||
|
||
停止客户端脚本性能分析并生成火焰图,与[StartProfile](#startprofile)配合使用,此接口只支持PC端
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| fileName | str | 具体路径,相对于PC开发包的路径,默认为"flamegraph.svg",位于PC开发包目录下,自定义路径请确保文件后缀名为".svg" |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 执行结果 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.client.extraClientApi as clientApi
|
||
clientApi.StartProfile()
|
||
modfunc()# 处理对应的逻辑
|
||
# 之后通过计时器或者其他触发方式调用StopProfile
|
||
clientApi.StopProfile()
|
||
```
|
||
|
||
|
||
|
||
## StopRecordEvent
|
||
|
||
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
|
||
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
停止服务端与客户端之间的脚本事件收发统计并输出结果,与[StartRecordEvent](#startrecordevent)配合使用,输出结果为字典,key为网络包名,value字典中记录收发信息,具体见示例,仅支持租赁服与Apollo网络服环境(不支持单机环境)
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| dict | 收发包信息,假如没有调用过StartRecordEvent,则返回为None |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
suc = serverApi.StartRecordEvent()
|
||
# 之后通过计时器或者其他触发方式调用StopRecordEvent
|
||
result = serverApi.StopRecordEvent()
|
||
for eventName, data in result.iteritems():
|
||
print "event[{}] send={} sendSize={} recv={} recvSize={}".format(eventName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
|
||
```
|
||
|
||
|
||
|
||
## StopRecordPacket
|
||
|
||
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
|
||
|
||
method in mod.server.extraServerApi
|
||
|
||
- 描述
|
||
|
||
停止服务端与客户端之间的引擎收发包统计并输出结果,与[StartRecordPacket](#startrecordpacket)配合使用,输出结果为字典,key为网络包名,value字典中记录收发信息,具体见示例,仅支持租赁服与Apollo网络服环境(不支持单机环境)
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| dict | 收发包信息,假如没有调用过StartRecordPacket,则返回为None |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
suc = serverApi.StartRecordPacket()
|
||
# 之后通过计时器或者其他触发方式调用StopRecordPacket
|
||
result = serverApi.StopRecordPacket()
|
||
for packetName, data in result.iteritems():
|
||
print "packet[{}] send={} sendSize={} recv={} recvSize={}".format(packetName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
|
||
```
|
||
|
||
|
||
|