Mali Graphics Debugger
概述
Mali Graphics Debugger允许开发人员在其应用程序中跟踪OpenGL ES,Vulkan和OpenCL API调用,并逐帧跟踪应用程序,以帮助识别可能的问题。
ubuntu安装
下载Mali Graphics Debugger 后执行如下命令
tar xvzf Mali_Graphics_Debugger_v<version>.<build>_Linux_<arch>.tgz
手机安装(Android N)
先决条件
- ubuntu安装SDK
- ubuntu安装adb
- 开发者选项usb调试打开并授权
- 手机可以root
- 手机/system分区至少有11MB空闲空间,可以使用如下命令查看:
adb shell df /system
安装Daemon
1、打开终端进入[MGD installation directory]/target/android/ 目录
2、执行如下命令:
adb root
adb remount
adb push arm/mgddaemon /sdcard/
cp /sdcard/mgddaemon /system/bin/mgddaemon
chmod 777 /system/bin/mgddaemon
安装 OpenGL ES, EGL, and OpenCL Interceptor
1、打开终端进入[MGD installation directory]/target/android/ 目录
2、执行如下命令:
// 32-bit
adb root
adb remount
adb push arm/rooted/armeabi-v7a/libGLES_mgd.so /sdcard/
cp /sdcard/libGLES_mgd.so /system/lib/egl/libGLES_mgd.so
chmod 777 /system/lib/egl/libGLES_mgd.so
ln -s /system/lib/egl/libGLES_mgd.so /system/lib/egl/libGLES.so
//64-bit
adb push arm/rooted/arm64-v8a/libGLES_mgd.so /sdcard/
cp /sdcard/libGLES_mgd.so /system/lib64/egl/libGLES_mgd.so
chmod 777 /system/lib64/egl/libGLES_mgd.so
ln -s /system/lib64/egl/libGLES_mgd.so /system/lib64/egl/libGLES.so
adb reboot
安装 Vulkan Layer
1、打开终端进入[MGD installation directory]/target/android/ 目录
2、执行如下命令:
adb push arm/rooted/armeabi-v7a/libGLES_mgd.so /sdcard/libVkLayerMGD.so
cp /sdcard/libVkLayerMGD.so /system/fake-libs/
chmod 777 /system/fake-libs/libVkLayerMGD.so
adb push arm/rooted/arm64-v8a/libGLES_mgd.so /sdcard/libVkLayerMGD.so
cp /sdcard/libVkLayerMGD.so /system/fake-libs64/
chmod 777 /system/fake-libs64/libVkLayerMGD.so
adb reboot
运行
手机端和电脑端环境配置好之后,需要分别运行,并连接。
Android Device
1、1、打开终端进入[MGD installation directory]/target/android/ 目录
2、安装MGD.apk
3、手机root,并在“settings->指纹和安全—>ROOT权限”中给Mali Graphics Debuuger应用赋予root权限
4、打开应用,打开Enable MGD Deamon开关
电脑端运行
/path/to/installation/gui/mgd &
执行成功后会看到如下界面,点击图片标注的位置打开设备管理器(Device Manager)
设备管理器中上半部分显示的是我们要调试的手机的状态,其操作方式如下:
修复成功之后:
连接手机:
设备管理器配置好之后,再次打开Mali Graphics Debuuger应用,点击对应的应用即可抓取信息:
Mali Graphics Debuuger抓取和分析方法
1、进程配置
2、按钮和区域
使用Mali Graphics Debugger调优Unity程序(Killer示例):http://www.jianshu.com/p/35096e796aa3