profiler-Intel_GPA记录
profiler-Intel_GPA记录. 官网下载地址: https://software.intel.com/en-us/gpa/free-download
相关资料
- 使用 Intel GPA 与 分析3D程序和抓取模型 - http://www.cnblogs.com/TracePlus/p/4233606.html
- 使用英特尔® INDE 图形性能分析器 (GPA) 分析和优化 Windows* 游戏应用 - https://gameinstitute.qq.com/community/detail/103635
- 用GPA对android应用绘制分析 - https://zhuanlan.zhihu.com/p/32964673
- 分析游戏渲染的姿势备忘之一 - http://ma-yidong.com/2018/02/20/reverse-engineering-mobile-game-mem/
- DXBC2GLSL - https://github.com/gongminmin/KlayGE/tree/develop/DXBC2GLSL
产品概述
- Graphics Monitor: 抓帧游戏某一帧的 draw call 数据
- Graphics Frame Analyzer: 分析抓取的单帧 draw call 数据
- System Analyzer: 实时隔离影响游戏性能的常见瓶颈
使用姿势
我这里使用的 gpa 版本是 gpa_18.1_release_320111_x64_standalone.msi. 随便打了个 pc 包测试.
主要是结合使用 Graphics Monitor (dump 帧数据) 与 Graphics Frame Analyzer (分析 dump 出来的帧数据)
使用 Monitor 启动游戏 exe 程序, 然后进行抓帧 ( ctrl+shift+c ).
抓出来的数据默认放在 C:\Users\XXX\Documents\GPA 目录下, 文件格式为 xxx..gpa_frame.使用 Frame Analyzer 打开抓取的帧数据分析
- input 中的 geometry: 导出的模型及其法线正常. 要提取模型的话就用这个导出.
- output 中的 geometry: 导出的模型及其法线不正常, 面与面的顶点是断开的, 法线翻转到里面去了, 且模型被拉伸了.
- execution 中的 sh:1: 可以显示 vert 及 frag 代码
max 中查看一下导出的模型
分析
以绘制 衣服 为例
unity 中的 材质球
Input 数据说明
Geometry : 渲染的mesh
T:xxx : 传给显卡的 贴图, 这里传了三张贴图, 选中后查看到具体的贴图名字.
这里 T:256 是 normalmap, T:257 是 ramp, T:285 是 base
B:xxx : 包含 mesh 的 顶点数据 (position, normal, tangent, uv) 和 一些变量
调试 Android 模拟器
这里以 夜神模拟器 为例. 随便打了 Android 包测试.
使用最新版的 夜神模拟器 ( 版本 nox_setup_v6.2.8.0_full-1.exe ) 不能 hook 成功, 使用旧一点的才可以 ( 版本 nox_setup_v6.0.9.0_full.exe ). 还有就是模拟器要开启 DirectX 模式才行.
姿势和正常使用姿势一样, 在 Monitor 启动运行 模拟器.exe, 进行抓帧 ( ctrl+shift+c ), 然后再使用 Frame Analyzer 分析
导出的模型法线不正常
需要在 max 中添加一个 编辑法线 修改器, ctrl + a 选中所有法线, 重置 一下所有法线, 然后 塌陷