GAPID是一个工具合集,允许检查、调整和重复从应用程序到Graphics驱动之间的调用。
GAPID采用Go语言编写,目前仍在开发中,但已经可以用于调试许多AndroidOpenGLES和Vulkan应用。
GAPID由以下子工具/组件构成:
gapii:GraphicsAPI拦截器 —— 位于应用程序/游戏和GPU驱动程序之间的一层,记录所有调用和内存访问。
gapis:GraphicsAPI服务器 —— 分析报告不正确的捕获流 API使用情况,处理在各种目标设备上重复过程的数据,并向客户端提供RPC接口。
gapir:Graphics APIReplay 守护 —— 一个基于堆栈的VM,用于回放捕获文件,模仿原始应用程序/游戏对GPU驱动程序的调用。支持读取任何缓冲区/帧缓冲区,并提供分析功能。
gapic:GraphicsAPI客户端 —— 前端用户界面应用。提供捕获数据、内存、资源和帧缓冲区内容的可视化检查。
gapil:GraphicsAPI语言 ——一种新的特定领域语言,用于全面描述图形API。拦截器、服务器和重复系统的绝大部分都是依赖它结合模板生成的。
GAPID支持在Windows、Linux和MacOS上运行,Google还计划在支持这些API的主机上跟踪OpenGLES和Vulkan应用。
评论