有时候我们需要对自己的游戏或者别人的游戏进行分析,比如我们需要了解一个引擎的大体渲染的流程,这个时候我们可以借助一些工具,在PC上我们可以使用Microsoft PIX、Intel GPA、Nvidia的Nsight和PerfHud来截取一帧的数据来分析。由于最近转到移动平台上,有时候也需要分析游戏,这个时候我们可以借助不同显卡厂商的工具来分析。此处,我们以高通的Adreno Profiler为例来分析一个程序。首先,你需要有一个使用高能解决方案的手机:比如小米、锤子等。
有几个需要注意的地方:
- 确保USB驱动已经正确的安装。
- 确保手机开启了USB调试功能。
- 确保程序清单(manifest)中android.permission.INTERNET和com.qti.permission.PROFILER被开启。
假设你已经安装了Adreno Profiler,打开后选择Connect,会出现以下界面:
假设你设置正确的话,会出现上面所示的界面:
- 这时打开你的程序,点击refresh,那么可以调试的程序就在上面显示,一定要确保com.qti.permission.PROFILER在manifest中打开,如果没打开会显示found a device but no adreno profiler-enabled app。
- 接下来点击Connect。
- 连接成功后,我们需要分析OpenGL ES,点击Scrubber GL。
- 这个时候可以点击Capture Frame来截取我们的数据。等待截取完成,这个时候我们就可以分析渲染流程了。
关于如何在manifest中添加许可项,读者可自行搜索,因为我最近在研究UE4,下面以UE4 4.10为例来说明怎么添加。
- 打开EditàProject Settings。
- 选择PlatformsàAndroid,在下图所示的Extra Permissions下面添加新的权限,然后打包即可。
后记:使用Adreno Profiler分析程序操作还是比较简单的,我在坚果手机和nubia的一个手机上都成功连接,但是红米手机,就是提示found a device but no adreno profiler-enabled app,因为其它机器可以正确连接,所以就没深入去追究原因,不知道你是否也遇到过类似的问题。
时间: 2024-10-29 10:46:13