#图形 #性能分析 #跟踪

renderdoc

RenderDoc 的 Rust 应用程序绑定

17 个版本 (11 个重大变更)

0.12.1 2024 年 3 月 2 日
0.11.0 2023 年 2 月 21 日
0.10.1 2021 年 2 月 10 日
0.10.0 2020 年 12 月 17 日
0.1.0 2017 年 10 月 12 日

#10 in 渲染

Download history 1489/week @ 2024-04-16 1146/week @ 2024-04-23 1380/week @ 2024-04-30 1551/week @ 2024-05-07 1473/week @ 2024-05-14 1319/week @ 2024-05-21 1526/week @ 2024-05-28 1423/week @ 2024-06-04 1369/week @ 2024-06-11 1334/week @ 2024-06-18 1192/week @ 2024-06-25 1300/week @ 2024-07-02 994/week @ 2024-07-09 863/week @ 2024-07-16 835/week @ 2024-07-23 1321/week @ 2024-07-30

4,233 每月下载次数
用于 4 crates

MIT/Apache

94KB
1.5K SLoC

renderdoc-rs

Build Status Crates.io Documentation

Rust 绑定到 RenderDoc,一个流行的图形调试器。

RenderDoc 是一个免费且开源的实时图形调试器,提供快速简单的帧捕获和任何使用 VulkanDirect3D 11Direct3D 12OpenGLOpenGL ES 的应用程序的详细检查。

这些绑定要求在目标机器上安装 RenderDoc,且 renderdoc.dlllibrenderdoc.so 应该在您的 $PATH 中可见。

有关如何使用此 API 将您的游戏或渲染器与 RenderDoc 性能分析器集成的更多详细信息,请参阅 应用程序 API 文档。

示例

use renderdoc::{RenderDoc, V100, V110};

fn main() {
    let mut rd: RenderDoc<V110> = RenderDoc::new().expect("Unable to connect");

    let (major, minor, patch) = rd.get_api_version();
    assert_eq!(major, 1u32);
    assert!(minor >= 1u32);

    // When a certain key is pressed, trigger a single-frame capture like this.
    rd.trigger_capture();

    // If you specify version `V110` or newer, you can trigger a multi-frame
    // capture like this.
    rd.trigger_multi_frame_capture(3);

    // Query the details of an existing capture like this.
    match rd.get_capture(0) {
        Some((path, capture_time)) => println!("ID: 0, Path: {}, Captured: {:?}", path, capture_time),
        None => println!("No capture found with ID of 0!"),
    }

    // Downgrade your effective API version at run-time like this.
    let mut rd: RenderDoc<V100> = rd.into();

    // Now this line will no longer compile!
    // rd.trigger_multi_frame_capture(3);
}

示例代码可在 examples 目录中找到。

许可证

renderdoc-rs 是免费且开源软件,根据您选择的 MITApache 2.0 许可证进行分发。

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在作品中的任何贡献都应如上双许可,没有额外的条款或条件。

依赖关系

~0.2–14MB
~116K SLoC