GAPID

图形 API 调试器。(Graphics API Debugger)

Github星跟踪图

GAPID:图形API调试器

下载

在这里下载最新版本的 GAPID。

文档

用户文档可以在 gapid.dev 找到

开发人员文档 为 GAPID 开发人员提供了一些提示。另请参阅某些源目录下的 README 文件。

关于

GAPID是一组工具,允许您检查、调整和回放从应用程序到图形驱动程序的调用。

GAPID可以跟踪任何 Android 可调试应用程序,或者如果您拥有对设备的根访问权,则可以跟踪任何应用程序。GAPID 还可以跟踪任何桌面 Vulkan 应用程序。

构建

请参阅 构建 GAPID

运行客户端

构建 GAPID 后,您可以从 /bazel-bin/pkg/gapid 运行客户端。

命令行界面

GAPID 通过 CLI gapit 公开其大部分功能。您可以在此处找到自动生成的文档。

项目结构

GAPID 由以下子组件组成:

gapii:图形 API 拦截器

位于应用程序/游戏和GPU驱动程序之间的层,记录所有调用和内存访问。

gapis:图形 API 服务器

分析报告错误 API 使用的捕获流的过程,处理数据以在各种目标设备上重放,并为客户端提供RPC接口。

gapir:Graphics API 重播守护进程

基于堆栈的 VM,用于回放捕获文件,模仿原始应用程序/游戏对 GPU 驱动程序的调用。支持任何缓冲区/帧缓冲区的回读,并提供分析功能。

gapic:图形 API 客户端

前端用户界面应用程序。提供对捕获数据,内存,资源和帧缓冲区内容的可视检查。

gapil:图形 API 语言

一种新的特定于域的语言,用于完整地描述图形API。结合我们的模板系统,生成拦截器,服务器和重放系统的巨大部分。

(First edition: vz edited at 2019.08.24)

主要指标

概览
名称与所有者google/gapid
主编程语言Go
编程语言Go (语言数: 15)
平台Linux, Mac, Windows
许可证Apache License 2.0
所有者活动
创建于2017-02-14 11:18:43
推送于2024-05-08 03:22:01
最后一次提交2022-06-06 09:49:01
发布数28
最新版本名称v1.7.0-dev-20191021 (发布于 )
第一版名称v0.4.0 (发布于 2017-07-14 13:37:06)
用户参与
星数2.2k
关注者数94
派生数327
提交数4.2k
已启用问题?
问题数1268
打开的问题数332
拉请求数2445
打开的拉请求数3
关闭的拉请求数223
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

GAPID: Graphics API Debugger

GoDoc
Gitter

Linux Build Status

MacOS Build Status

Windows Build Status

Downloads

Download the latest version of GAPID here.

Unstable developer releases are here.

Documentation

User documentation can be found at gapid.dev

The developer documentation contains some hints for GAPID
developers. See also the README files under some source directories.

About

GAPID is a collection of tools that allows you to inspect, tweak and replay calls from an application to a graphics driver.

GAPID can trace any Android debuggable application, or if you have root access to the device any application can be traced.
GAPID can also trace any desktop Vulkan application.

Building

See Building GAPID.

Running the client

After building GAPID, you can run the client from <gapid-root>/bazel-bin/pkg/gapid.

Command-Line Interface

GAPID exposes most of its functionality via a CLI gapit. You can find auto-generated documentation here.

Project Structure

GAPID consists of the following sub-components:

gapii: Graphics API Interceptor

A layer that sits between the application / game and the GPU driver, recording all the calls and memory accesses.

gapis: Graphics API Server

A process that analyses capture streams reporting incorrect API usage, processes the data for replay on various target devices, and provides an RPC interface to the client.

gapir: Graphics API Replay daemon

A stack-based VM used to playback capture files, imitating the original application’s / game's calls to the GPU driver. Supports read-back of any buffer / framebuffer, and provides profiling functionality.

gapic: Graphics API Client

The frontend user interface application. Provides visual inspection of the capture data, memory, resources, and frame-buffer content.

gapil: Graphics API Language

A new domain specific language to describe a graphics API in its entirety. Combined with our template system to generate huge parts of the interceptor, server and replay systems.