在测试游戏性能的工程中,会使用到许多工具帮忙定位性能问题,以下根据使用场景将常用的工具进行了简单的分类:
获取常用性能数据:perfdog、instruments
截帧工具:RenderDoc、snapdragon profiler
分析线程:systrace、optick
指标 | Xcode | instruments | perfdog | SnapDragon Profiler | Unity Profiler | RenderDoc | systrace | |
---|---|---|---|---|---|---|---|---|
常规数据 | CPU占有率 | √ | √ | √ | √ | √ | ||
内存 | √ | √ | √ | √ | √ | |||
FPS | √ | √ | √ | √ | √ | |||
GPU占有率 | √ | √ | √ | √ | √ | |||
耗电量 | √ | √ | √ | |||||
温度 | √ | √ | ||||||
帧耗时 | √ | √ | √ | √ | √ | |||
DrawCall | √ | √ | √ | |||||
IO | √ | √ | √ | |||||
网络流量 | √ | √ | √ | √ | ||||
CPU核心频率 | √ | √ | √ | √ | ||||
渲染相关 | OverDraw | √ | √ | √ | √ | √ | ||
面数 | √ | √ | √ | |||||
帧渲染耗时 | √ | √ | √ | |||||
函数耗时 | √ | |||||||
贴图分辨率 | √ | √ | √ | |||||
资源内存占用 | √ | √ | √ | √ | ||||
线程耗时 | √ | √ |
性能数据获取:perfdog、Xcode-instruments、Snapdragon Profiler、UWA
卡顿:unity profiler、UWA
截帧:Xcode、Renderdoc、Snapdragon Profiler、Unity Editor - Frame Debugger
闪退日志:iOS-分析与改进、安卓-adb logcat 指令(或开发在云端收集闪退信息的平台)
移动端芯片性能排行:https://www.socpk.com/
重签名工具:联系项目程序帮忙实现(通过修改重签名的方式,在同一个设备内安装多个项目APP)
自动化:Airtest
使用手册引导
Perfdog官方手册:https://bbs.perfdog.qq.com/article-detail.html?id=5
snapdragon profiler:https://blog.csdn.net/weixin_38498942/article/details/89333185
RenderDoc:https://zhuanlan.zhihu.com/p/354097312
Unity Profiler官方手册:https://docs.unity3d.com/cn/current/Manual/Profiler.html