有时候我们需要对自己的游戏或者别人的游戏进行分析,比如我们需要了解一个引擎的大体渲染的流程,这个时候我们可以借助一些工具,在PC上我们可以使用Microsoft PIX、Intel GPA、Nvidia的Nsight和PerfHud来截取一帧的数据来分析。由于最近转到移动平台上,有时候也需要分析游戏,这个时候我们可以借助不同显卡厂商的工具来分析。此处,我们以高通的Adreno Profiler为例来分析一个程序。首先,你需要有一个使用高能解决方案的手机:比如小米、锤子等。

有几个需要注意的地方:

  1. 确保USB驱动已经正确的安装。
  2. 确保手机开启了USB调试功能。
  3. 确保程序清单(manifest)中android.permission.INTERNET和com.qti.permission.PROFILER被开启。

假设你已经安装了Adreno Profiler,打开后选择Connect,会出现以下界面:

假设你设置正确的话,会出现上面所示的界面:

  1. 这时打开你的程序,点击refresh,那么可以调试的程序就在上面显示,一定要确保com.qti.permission.PROFILER在manifest中打开,如果没打开会显示found a device but no adreno profiler-enabled app。
  2. 接下来点击Connect。
  3. 连接成功后,我们需要分析OpenGL ES,点击Scrubber GL。
  4. 这个时候可以点击Capture Frame来截取我们的数据。等待截取完成,这个时候我们就可以分析渲染流程了。

关于如何在manifest中添加许可项,读者可自行搜索,因为我最近在研究UE4,下面以UE4 4.10为例来说明怎么添加。

  1. 打开EditàProject Settings。
  2. 选择PlatformsàAndroid,在下图所示的Extra Permissions下面添加新的权限,然后打包即可。

    后记:使用Adreno Profiler分析程序操作还是比较简单的,我在坚果手机和nubia的一个手机上都成功连接,但是红米手机,就是提示found a device but no adreno profiler-enabled app,因为其它机器可以正确连接,所以就没深入去追究原因,不知道你是否也遇到过类似的问题。

使用Adreno Profiler分析android游戏的更多相关文章

  1. Adreno Profiler分析任意安卓游戏特效+抓取资源

    听说可以抓去任意游戏特效..保存下,有空研究 AdrenoProfiler 下载地址 Adreno Profiler分析任意安卓游戏特效+抓取资源 教程

  2. Adreno Profiler 提取手机游戏资源

    https://blog.csdn.net/lly20000/article/details/79774755 step.1 准备工具 1.adb连接工具(我用的cofface adb  ) [cof ...

  3. 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)

    在一款游戏中,除了华丽的界面 UI 直接吸引玩家外,另外重要的就是游戏的背景音乐与音效:合适的背景音乐以及精彩的音效搭配会令整个游戏上升一个档次. 在 Android 中.常用于播放游戏背景音乐的类是 ...

  4. 转 iOS和android游戏纹理优化和内存优化(cocos2d-x)

    iOS和android游戏纹理优化和内存优化(cocos2d-x) (未完成) 1.2d游戏最占内存的无疑是图片资源. 2.cocos2d-x不同平台读取纹理的机制不同.ios下面使用CGImage, ...

  5. Android破解学习之路(三)——Android游戏 切水果破解

    经过前两篇破解教程,想必大家也是明白了破解的简单流程了. 先对APP进行试用,了解APP运行的大概流程,之后从APP中找出关键字(一般的关键字差不多都是支付失败),之后使用Androidkiller进 ...

  6. unity开发android游戏

    环境搭建: Unity+JDK+Android Studio+Android SDK(+NDK) 教程:unity开发android游戏(一)搭建Unity安卓开发环境 注意“Build System ...

  7. Adreno Profiler连接安卓手机profile第三方app渲染过程

    1,下载Android SDK,adb在Android SDK/platform-tools下. 2,添加adb环境变量:http://www.cnblogs.com/xwlyun/archive/2 ...

  8. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  9. Android游戏开发实践(1)之NDK与JNI开发01

    Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码&q ...

随机推荐

  1. GDC2016【彩虹六号:围攻 】使丰富的“突破”成为可能的破坏系统

      [彩虹六号:围攻 ]使得丰富的“突破”成为可能的破坏系统 深奥的战术游戏的背景下,最新的程序化破坏技术[REALBLAST]!     进行演讲的是Ubisoft Montreal的Julien ...

  2. Ubuntu 14.04 LTS 安装 VNC Viewer

    1.修改镜像源: /etc/apt/sources.list将"http://archive.ubuntu.com/ubuntu/"替换为: http://cn.archive.u ...

  3. overflow样式修改插件——jscrollpane

    官网:http://jscrollpane.kelvinluck.com/

  4. wordpress 常用函数 checked(),selected(),disabled()

    checked().selected().disabled(),这三个函数是主题设计和插件设计中添加后台设置比较常用到的函数. 例如自定义一个widget,这个widget有一个字段为文章排列方式.文 ...

  5. OpenMP初步(英文)

    Beginning OpenMP OpenMP provides a straight-forward interface to write software that can use multipl ...

  6. 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html

    微信公众账号开发教程(四)自定义菜单 请尊重作者版权,如需转载,请标明出处. 应大家强烈要求,将自定义菜单功能课程提前. 一.概述: 如果只有输入框,可能太简单,感觉像命令行.自定义菜单,给我们提供了 ...

  7. Error executing aapt: Return code -1073741819

    在做andrid项目的时候,本来想把a项目中的a功能模块复制到b项目中,但是复制过程中出现xml文件id的问题, Error executing aapt: Return code -10737418 ...

  8. Mongo中的数组操作

    当前mongo中有这么一条数据 book是一个数组,在他后面添加一条数据 { "_id" : ObjectId("5721f504d1f70435632b5ce7&quo ...

  9. idea控制台乱码

    打开File->Settings->Editer->File Encoding,将IDE Encoding 和 Project Encoding 都改为UTF-8

  10. zepto--toggle函数

    学习zepto源码时,发现一个很佩服的写法. 关键点在三元选择符. 首先,假定settings是有传入参数的,此时settings会进行隐式强制类型转换为布尔值,如果为真,元素显示,如果为假,元素隐藏 ...