当前位置 : 主页 > 网络编程 > PHP >

AdrenoProfiler抓取游戏纹理和shader

来源:互联网 收集:自由互联 发布时间:2023-09-06
我们在做项目时常被要求对标某个精品游戏,或是参考某个游戏的效果。还有些时候我们看到别人的做法很巧妙的时候;总忍不住要窥探一番。这时候AdrenoProfiler能帮上忙。安装这里关


我们在做项目时常被要求对标某个精品游戏,或是参考某个游戏的效果。还有些时候我们看到别人的做法很巧妙的时候;总忍不住要窥探一番。这时候AdrenoProfiler能帮上忙。安装这里关键是分两步:ADB和AdrenoProfiler。

1. 安装ADB

去安卓开发者官网​​https://developer.android.com/studio/releases/platform-tools#download​​下载最新的SDK Platform Tools

AdrenoProfiler抓取游戏纹理和shader_android

SDK需要配置一下,这里有SDK配置的百度经验:​​https://jingyan.baidu.com/article/17bd8e52f514d985ab2bb800.html​​

亲测可用。

2.安装AdrenoProfiler

去高通官网下载​​https://developer.qualcomm.com/software/adreno-gpu-profiler​​,没有注册过的需要利用邮箱注册并且申请通过。

按提示一步步往下走直至安装完成。需要注意的是它的应用场景:

  1. 首先必须是Adreno芯片的android机器
  2. 你必须先运行OpenGL ES的应用,不过一般情况下Android手游大多是基于OpenGL ES的。

3. AdrenoProfiler的使用

1. 利用USB连接手机和安装有AdrenoProfiler的PC

2. 打开AdrenoProfiler点击左上方的Connect,然后选中所选游戏的进程。

AdrenoProfiler抓取游戏纹理和shader_标签栏_02

比如我们运行乱世王者,列表就会出现高亮部分,选中com.tencent.tmgp.wec,再点击connect即可进入进程。

这里ADB:found a device and app是正确的状态。当出现没发现设备或者app的时候,往往是因为adb版本不对或者没运行OpenGL ES程序。

3. 点击Scrubber GL弹出抓取界面,然后点击Capture Frame一段时间,就可以获取当前的一帧。你可以点击Save将其保存,以待之后分析。

AdrenoProfiler抓取游戏纹理和shader_AdrenoProfiler_03

左下区域:RenderCall ,其实是抓取了一帧中所有GL部分的调用及相关数据,然后按照绘制命令组织。标红的是渲染压力大的DrawCall,同时comments还给出了修改建议。当选中不同的Render Call时,工具会显示从一开始到这一个命令的绘制结果,方便看到每一个中间过程。

此外,在API Calls中,还可以看到每一个Render Call之前的其他命令,包括各种对GL状态机的修改。

AdrenoProfiler抓取游戏纹理和shader_标签栏_04

左上方区域有三个标签栏:

Texures标签栏是用到的纹理,可以点击保存按钮,可以将所有纹理都保存成一个个文件;

Resource标签栏里面是用到的shader,在下面的Shader Viewer可以看到反汇编出来的指令。对我们分析拆解游戏帮助很大。

AdrenoProfiler抓取游戏纹理和shader_标签栏_05

 

【感谢龙石为本站提供数据质量管理系统,http://www.longshidata.com/pages/quality.html】
网友评论