先说一个好消息:PerfDog 不需要"接入"到游戏里。
它不需要你在游戏里集成 SDK、改代码或重新打包。无论是应用商店下载的游戏、自己用 Unity 打出来的包,还是电脑上运行的游戏,做法都一样:在电脑上装好 PerfDog 客户端,把设备连上,在列表里选中游戏,点开始。
你的电脑(装 PerfDog 客户端) │ ├── USB / WiFi ──▶ 安卓手机上的游戏 ├── USB / WiFi ──▶ iPhone / iPad 上的游戏 └── 本机 ────────▶ Windows 上运行的游戏(例如 Unity 打包的 .exe)下面按"安卓手机、iPhone、电脑上的 Unity 游戏"三种情况分别说明。
说明:PerfDog 的界面、版本要求、授权方式和支持的平台会随版本更新。下面是通用流程,菜单名称以你安装的版本和官网文档为准。
一、通用准备:先把"监护仪"装好
| 步骤 | 说明 |
|---|---|
| 1. 下载客户端 | 从 PerfDog 官网(perfdog.qq.com)下载 Windows 或 macOS 客户端 |
| 2. 登录账号 | 首次打开需要注册或登录。免费版与付费版在测试时长、功能上可能有差别,以官网说明为准 |
| 3. 准备数据线 | 用质量可靠、支持数据传输的线。有些线只能充电,这是"设备不显示"最常见的原因之一 |
| 4. 关掉"抢设备"的软件 | 各类手机助手、模拟器、其他自带 adb 的工具,可能会占用安卓的调试连接,测试时先退出 |
二、安卓手机上的游戏
1. 打开手机的 USB 调试
设置 → 关于手机 → 连续点击"版本号"7 次 → 提示"已进入开发者模式" 设置 → 系统(或"更多设置")→ 开发者选项 → 打开"USB 调试"不同品牌的额外开关:
| 品牌 | 可能需要额外打开的选项 |
|---|---|
| 小米 / 红米 | “USB 安装”、“USB 调试(安全设置)”(部分需要登录小米账号并插卡) |
| OPPO / 一加 / realme | "禁止权限监控"等相关选项(视系统版本) |
| vivo / iQOO | "USB 安装"相关确认 |
| 华为 / 荣耀 | “仅充电模式下允许 ADB 调试” |
2. 连接电脑
- 用数据线连接手机和电脑;
- 手机上弹出"允许 USB 调试吗?",勾选"始终允许"并确认;
- 打开 PerfDog 客户端,设备列表里会出现你的手机。
3. 选择连接方式
点击设备时,PerfDog 通常会提供几种模式:
| 模式 | 说明 | 适合 |
|---|---|---|
| 安装模式 | 在手机上安装一个 PerfDog 辅助应用,可以在游戏画面上显示悬浮窗,实时看到帧率等数据 | 大多数情况,推荐 |
| 非安装模式(ADB 模式) | 不在手机上装任何东西,没有悬浮窗 | 不允许安装第三方应用的设备 |
| WiFi 模式 | 先用 USB 连上,再切换到无线;之后可以拔掉数据线 | 测功耗和发热(避免 USB 一边测一边充电) |
如果选择安装模式,手机上会弹出安装确认,点"允许"或"继续安装"。悬浮窗需要授予"显示在其他应用上层"的权限。
4. 选择游戏并开始
PerfDog 客户端 → 选择设备 → 选择应用(下拉列表里找到你的游戏) → 勾选要采集的指标(FPS、CPU、GPU、内存、温度、功耗……) → 点击"开始" → 去手机上玩游戏几点提醒:
- 商店下载的游戏也能测,不需要是你自己开发的,也不需要是调试版;
- 一些游戏有多个进程(例如主进程、推送进程),一般选择游戏主进程;如果 FPS 一直为 0,换一个进程试试;
- 测试过程中保持游戏在前台运行。
三、iPhone / iPad 上的游戏
1. 准备电脑环境
| 电脑 | 需要 |
|---|---|
| macOS | 一般无需额外安装 |
| Windows | 安装iTunes(或"Apple 设备"应用),以获得苹果的设备驱动,否则电脑识别不到 iPhone |
2. 连接与信任
- 用数据线连接 iPhone 与电脑;
- iPhone 上弹出"要信任此电脑吗?“,点"信任”,输入锁屏密码;
- 打开 PerfDog,设备列表中会出现你的 iPhone。
**不需要越狱。**PerfDog 使用的是苹果提供给开发工具的设备性能服务。
3. 可能遇到的提示
| 情况 | 处理 |
|---|---|
| 提示需要开启"开发者模式" | iPhone 上:设置 → 隐私与安全性 → 开发者模式 → 打开,按提示重启并确认 |
| 较新的 iOS 版本连不上 | 新系统改动过设备调试服务,先把 PerfDog 升级到最新版本 |
| 首次连接较慢 | 客户端可能在准备与设备通信的组件,耐心等待,保持手机解锁 |
4. 选择游戏并开始
和安卓相同:选设备 → 选应用 → 勾选指标 → 开始。
- App Store 下载的游戏、TestFlight 的测试版、自己用 Xcode 装的开发包,都可以测;
- iOS 上没有安卓那样的悬浮窗,数据在电脑客户端上实时查看;
- 同样支持在 USB 配对后切换为 WiFi 模式,适合测功耗。
四、电脑上的 Unity 游戏
这里分两种情况,先想清楚你要测的到底是哪一个。
情况 A:你想知道游戏在手机上的表现
这是 Unity 手游最常见的需求。电脑上跑得再流畅,也不能代表手机上的表现,所以正确做法是:
Unity → File → Build Settings → 切换到 Android 或 iOS → 打出 APK(安卓)或导出 Xcode 工程并安装到 iPhone(iOS) → 安装到手机 → 按第二、三节的方法用 PerfDog 测试情况 B:你的游戏就是 PC 游戏,想测它在电脑上的表现
PerfDog 的 Windows 客户端支持测试 Windows 应用(以你所用版本的支持情况为准):
- 先用 Unity 打出Windows 独立版本(
File → Build Settings → Windows,得到一个.exe); - 运行这个游戏;
- 打开 PerfDog,在设备列表中选择本机(Windows / PC);
- 在应用或进程列表中找到你的游戏进程(通常与
.exe同名),选中并开始; - 如果列表里找不到或数据采集不到,尝试以管理员身份运行 PerfDog。
不要直接测 Unity 编辑器
在 Unity 编辑器里点 Play 运行游戏,然后用 PerfDog 测Unity.exe,这个数据几乎没有参考价值:
| 原因 | 说明 |
|---|---|
| 编辑器本身很重 | Scene 视图、Inspector、各种窗口都在消耗 CPU 与 GPU |
| 代码运行方式不同 | 编辑器里运行的脚本与打包后(尤其是 IL2CPP)的性能不同 |
| 资源加载方式不同 | 编辑器从工程目录直接加载资源,打包后走的是打包后的资源 |
结论:性能测试一定要测打包后的版本。
五、Unity 项目在测试前要检查的几件事
如果测的是你自己的 Unity 项目,下面这些设置会直接影响数据:
| 设置 | 影响 | 建议 |
|---|---|---|
| 帧率上限 | 移动平台默认可能限制在 30 帧,测出来"永远 30 帧"并不代表性能不行 | 检查Application.targetFrameRate与游戏内帧率选项 |
| 垂直同步 | 会把帧率锁在屏幕刷新率或其约数上 | 测试时明确开关状态,前后保持一致 |
| Development Build | 开发构建有额外开销,数据会偏差 | 衡量最终性能用正式(Release)构建;需要连 Unity Profiler 深挖时再用开发构建 |
| 画质档位 | 不同档位差别巨大 | 每次测试记录并固定档位 |
| 脚本后端 | Mono 与 IL2CPP 性能不同 | 与正式发布使用的后端保持一致 |
一个简单的帧率设置脚本示例:
usingUnityEngine;publicclassPerfTestSettings:MonoBehaviour{[SerializeField]inttargetFps=60;voidAwake(){QualitySettings.vSyncCount=0;// 关闭垂直同步,由 targetFrameRate 控制帧率Application.targetFrameRate=targetFps;// 移动平台上默认帧率可能较低,测试前明确设置Debug.Log($"[PerfTest] targetFrameRate={targetFps}, quality={QualitySettings.names[QualitySettings.GetQualityLevel()]}");}}六、测试过程中:让数据会说话
连上之后,真正的技巧在于"怎么测":
| 操作 | 怎么做 | 为什么 |
|---|---|---|
| 打标签 | 在客户端里,进入不同场景时添加标签:大厅、加载、对局、团战、结算 | 结束后能按场景分别看数据 |
| 写批注 | 卡顿时在时间轴上记一句:“此处放大招” | 方便回看时对应画面 |
| 截图 | 出现明显卡顿时截图 | 记录现场 |
| 测足够久 | 至少一局完整对局,关注发热时测 30 分钟以上 | 短时间测不出发热降频 |
| 保存上传 | 结束后保存并上传到 PerfDog 的 Web 平台 | 便于和旧版本、其他机型对比 |
保持测试条件一致:电量相近、关闭后台应用、亮度固定、画质固定、环境温度接近。条件一致,数据才能对比。
七、常见问题速查
| 问题 | 可能原因 | 解决办法 |
|---|---|---|
| 安卓手机连上了,但 PerfDog 里没有设备 | 数据线只能充电;USB 调试未开启;未点"允许调试" | 换线、重新开启 USB 调试、重新插拔并确认弹窗 |
| 安卓设备时有时无 | 手机助手、模拟器等软件占用了调试连接 | 退出这些软件,重启 PerfDog |
| 安装辅助应用失败 | 手机禁止 USB 安装 | 打开"USB 安装"等选项,或改用非安装模式 |
| Windows 上识别不到 iPhone | 缺少苹果设备驱动 | 安装 iTunes(或"Apple 设备"应用),重新插拔 |
| iPhone 连接失败 | 未信任电脑、未开开发者模式、PerfDog 版本过旧 | 信任电脑、按提示开启开发者模式、升级 PerfDog |
| 应用列表里找不到游戏 | 列表未刷新;游戏未安装在当前设备 | 刷新列表,确认安装位置 |
| FPS 一直是 0 | 选错进程;游戏不在前台 | 选择游戏主进程,保持游戏在前台 |
| 帧率一直是 30 | 游戏帧率上限为 30,或开启了省电模式 | 检查游戏帧率设置与手机省电、性能模式 |
| 功耗数据异常 | USB 连接时在充电 | 改用 WiFi 模式测功耗 |
| 电脑上的游戏采集不到数据 | 权限不足;选错进程 | 以管理员身份运行 PerfDog,确认进程 |
八、进阶:测完之后做什么
当你已经能顺利测试,可以继续了解这些能力(具体以官方文档为准):
| 方向 | 说明 |
|---|---|
| Web 平台对比 | 把新旧版本、不同机型的数据叠在一起比较 |
| 自定义数据扩展 | 官方提供让游戏向 PerfDog 发送自定义数据的方式,例如把场景名、DrawCall 数显示在曲线上;这一步需要在游戏中做少量对接 |
| 自动化测试 | 通过 PerfDogService 等服务化接口,配合自动化脚本在每日构建后自动跑性能回归 |
| 深入分析 | PerfDog 告诉你"哪里卡、什么时候卡";要找原因,再配合 Unity Profiler、Xcode Instruments、Android Studio Profiler、RenderDoc 等工具 |
一句话总结
不用改游戏,装好客户端、连上设备、选中游戏、点开始。
手机游戏:安卓开 USB 调试,iPhone 信任电脑(Windows 上要装 iTunes)。
Unity 游戏:要测手机表现就打包装到手机上;要测 PC 表现就打出.exe再测本机;不要测 Unity 编辑器。