#性能分析器 #仪器 #游戏开发

puffin-imgui

Puffin 性能分析器的 ImGui 绑定

27 个版本 (破坏性)

0.22.0 2023年5月24日
0.20.1 2023年1月30日
0.19.0 2022年12月13日
0.18.0 2022年11月8日
0.5.0 2020年11月15日

#925 in GUI


用于 ambient_profiling

MIT/Apache

155KB
3.5K SLoC

Puffin ImGui 火焰图

Embark Embark Crates.io Docs

此crate提供了Puffin性能分析器收集数据的火焰图视图。

Example view

fn main() {
    puffin::set_scopes_on(true); // you may want to control this with a flag
    let mut puffin_ui = puffin_imgui::ProfilerUi::default();

    // game loop
    loop {
        puffin::GlobalProfiler::lock().new_frame();

        {
            puffin::profile_scope!("slow_code");
            slow_code();
        }

        puffin_ui.window(ui);
    }
}

lib.rs:

imgui-rspuffin 的接口。

使用方法

fn main() {
    puffin::set_scopes_on(true); // you may want to control this with a flag
    let mut puffin_ui = puffin_imgui::ProfilerUi::default();

    // game loop
    loop {
        puffin::GlobalProfiler::lock().new_frame();

        {
            puffin::profile_scope!("slow_code");
            slow_code();
        }

        puffin_ui.window(ui);
    }
}

依赖项

~13–19MB
~274K SLoC