使用UPR性能检测工具测试抖音小游戏
使用UPR性能检测工具测试抖音小游戏
1. 基本概念
为了获得更加精准的分析数据, UPR 通过 Unity Profiler,直接收集运行在目标硬件上的测试包所产生的分析数据。同时,相比较于集成在 Unity Editor 中的 Unity Profiler,UPR 能过更直观的方式,提供了更多的比较维度和追踪角度,展示了更多的内容,方便测试和开发人员更快的定位性能瓶颈。
2. 自己的项目中使用UPR
使用 UPR Package 获取截图及小游戏专有性能数据
下载 Unity Package for UPR 。
导入下载的 UPR Package。
注意:如果你使用的是团结引擎,在导入package之前,需要打开「Windows->Package Manager」,在弹出的窗口中,点击左上角「+」右侧下拉选项,选择「Packages: Built-in」,保证 Image Conversion 和 Screen Capture 模块 Enable:
导入 UPR Package 后,修改 Package 项目的 Assets/UPRTools/Resources/WebGLSettings.asset 文件,在右边 Inspector 内填入 Build Url 为对应的 UPR Desktop 运行的机器IP地址(如何获取设备IP)。
3. 如果使用TTSDK导出游戏

使用抖音开发者工具进行 build 时,需要勾选 Development 和 Connect With Profiler 两项,不要勾选 Brotli 压缩 。
4. 导出游戏
如果使用团结引擎 Build Profile 导出游戏
在 Build Setting 中选择 MiniGame, 抖音小游戏项处于 Active, 选择用来 build 的 profile, 如果没有的话就「Add Build Profile」添加一个
5. 修改Profiler连接IP地址
UPR 测试步骤请参考 UPR性能测试。
Build 到具体的文件夹中,我们可以看到一个 webgl_package-xxxxxx.zip, 文件名中的 xxxx 是根据当天的日期和时间生成的。解压这个zip文件夹,打开解压后文件夹内的 webgl.framework.js 文件,搜索到下面这行代码,并且在这行代码上面添加下面代码:
ws = new WebSocketConstructor(url, opts);- 如果使用Unity引擎
url = "ws://[你的IP地址]:54998"- 如果使用团结引擎(v1.1及以上)
url = "ws://[你的IP地址]:37100"删除旧的zip文件,将文件夹重新压缩成zip文件。
打开 UPR Desktop, 在 UPR官网 里面创建一个 session, 并且勾选上 WebGL模式。
在 UPR Desktop 中填入对应的 SessionId 并回车,点击「Start」按钮。
在抖音开发者工具/抖音APP上,启动对应的游戏,就可以开始测试:
6. 常见问题
UPR接收不到帧数据?
- 确认一下build成minigame的时候是不是勾选了"development build"和 "auto connect profiler"这两个选项,如果没有勾选,minigame应用就不会连接UPR Desktop,就无法获取到帧数据了。
- 确认一下是否已经修改了需要连接的IP地址。
- 确认一下测试的应用和连接的地址是否可以互相连通,比如在真机上设定了IP地址,但是手机和UPR所在的电脑无法互相连通。
- 请更新最新版本的UPR Desktop,团结1.1.x/1.2.x 需要匹配UPR Windows(2.18.0.0)和UPR MAC(1.18.0.0)及以上版本。
- Windows平台使用(netstat -ano | finstr 37100)查看对应端口LISTEN的PID, 使用 tasklist | findstr [pid号] 查看占用该端口的进程是否是UPR Desktop,如果是被其他应用强行占据了,使用
taskkill /F /pid [pid号]- 强行结束该进程占用,再重新测试。
- 确认一下是否已经关闭 Unity Editor,防止性能数据被 Editor 拦截
- 如果依旧无法解决问题,请 联系我们
如何获取设备IP?
对于Windows系统:
- 打开“开始”菜单,搜索“CMD”或“命令提示符”并点击打开。
- 在命令提示符窗口中,输入 “ipconfig” 然后按回车键。
- 在输出的信息中,查找 “IPv4 地址” 或者 “IPv4 Address”。这就是你的设备IP。

对于Mac系统:
- 打开“系统设置”,点击“网络”选项。
- 在“网络”窗口中,选择你正在使用的网络连接(例如Wi-Fi或以太网),点击打开“详细信息”窗口。
- 你的IP地址将显示在IP地址一栏中,这就是你的设备内网IP

电脑手机不在同一局域网
电脑和手机不在同一局域网下,该怎么测试 ?可以使用数据线连接+端口映射功能:
- 端口映射功能目的是将当前PC设备的端口通过adb或者hdc映射到具体的手机设备上
- 对于Android设备,我们使用adb进行映射,执行如下命令
adb reverse tcp:37100 tcp:37100 //tuanjie 1.1以上端口为37100,tuanjie 1.1以下或Unity端口为54998
adb reverse tcp:56001 tcp:56001 //转发upr package的端口便于接收package数据- 对于openharmony设备,我们使用hdc进行映射
hdc rport tcp:37100 tcp:37100 //tuanjie 1.1以上端口为37100,tuanjie 1.1以下或Unity端口为54998
hdc rport tcp:56001 tcp:56001 //转发upr package的端口便于接收package数据修改 Unity 项目的 Assets/UPRTools/Resources/WebGLSettings.asset 文件,在右边 Inspector 内填入 Build Url 为 127.0.0.1
需要修改 Unity Editor 导出后 minigame 文件夹中的 webgl.wasm.framework.unityweb.js 文件,将 IP 地址替换为127.0.0.1。
在 webgl.wasm.framework.unityweb.js 文件中搜索 ws = new WebSocketConstructor(url, opts); ,找到这一行,在这行前面添加下面代码段(如图):
url = "ws://127.0.0.1:37100"; //tuanjie 1.1以上端口为37100,tuanjie 1.1以下或Unity端口为54998
在真机运行时无法获取截图?
- 确认UPR Package是否正常导入了,确认真机同UPR Desktop所运行的电脑网络可以连通
- 确认是否修改了UPR Package的设置,已经将Unity 项目的 Assets/UPRTools/Resources/WebGLSettings.asset的Build Url修改成UPR Desktop所运行的电脑的IP地址
- 如果确认已经配置了IP地址依旧无法获取到截图的话,可以直接修改UPR Package的源码可以在自己项目的 Assets/UPRTools/Scripts/NetworkServer.cs 文件中 IP 修改成对应的 UPR Desktop IP地址。
// 将 ip 替换成 upr 所在机器的IP地址
string address = string.Format("ws://{0}:{1}", ip, port);- 如电脑手机不在同一局域网内,需参考电脑手机不在同一局域网 确认 UPR Package 接收收据端口映射是否正确