查看任意应用的 Skia 绘制指令 – 安卓渲染调试工具大全
内容提要
本文介绍了Skia Debugger、Perfetto和AGI这三个与制作相关的工具。Skia Debugger用于检查Skia指令的制作情况,Perfetto用于总览系统内进程的制作情况,AGI具备系统trace和详细的制作指令检查功能,但使用体验较差。文章还介绍了Skia Debugger的使用方法。
延伸解读
工具选择:按需匹配
Skia Debugger、Perfetto 和 AGI 各有侧重。若需逐帧检查 Skia 绘制指令以排查渲染效果问题,Skia Debugger 更合适;若需总览系统内进程的绘制状况进行性能分析,Perfetto 更高效;AGI 虽支持系统 trace 和详细指令检查,但成功率低,需谨慎使用。
Skia Debugger 使用要点
使用 Skia Debugger 需编译开启 debug 的 libhwui.so 并推送到系统目录。注意匹配系统架构:64 位系统应推送到 /system/lib64,若误推至 /system/lib 可能导致无法开机。操作前需 root 并挂载 /system 为可写,否则会推送失败。
Perfetto 的便捷与局限
Perfetto 可通过 GUI 配置 trace 信息并录制,但常提示 adb 连接错误,此时可直接使用命令行抓取。它能总览系统内进程的绘制状况,但无法查看详细的绘制指令,适合性能分析而非指令级调试。
AGI 的体验与风险
AGI 具备系统 trace 和详细的绘制指令检查功能,支持 Vulkan 和 OpenGL,但使用体验较差,成功率很低。若需抓取 GL 指令,还需在手机安装额外应用。鉴于其不稳定性,不建议作为首选工具。
Q&A
Skia Debugger的主要功能是什么?
Skia Debugger用于检查Skia指令的制作情况,帮助排查制作相关问题,但无法查看详细耗时。
如何使用Skia Debugger进行调试?
需要编译libhwui.so并推送到/system/lib64目录,然后重启设备以启用调试功能。
Perfetto工具的用途是什么?
Perfetto用于总览系统内进程的制作情况,适合进行功能分析,但无法查看详细的制作指令。
AGI工具的特点是什么?
AGI具备系统trace和详细的制作指令检查功能,支持Vulkan和OpenGL,但使用体验较差,成功率低。
使用Perfetto进行trace的基本步骤是什么?
可以通过GUI配置trace信息并开始录制,或者使用命令行直接执行相关指令。
在使用Skia Debugger时需要注意什么?
需要确保匹配系统架构,避免将libhwui.so推送到错误的路径,以免导致设备无法启动。