From 510237cc29ebc667a8c158ef0340b7d1aa669a72 Mon Sep 17 00:00:00 2001 From: Thierry Berger Date: Tue, 19 Nov 2024 16:33:26 +0100 Subject: Profiling support (#743) --- src_testbed/ui.rs | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src_testbed/ui.rs') diff --git a/src_testbed/ui.rs b/src_testbed/ui.rs index b27ea7a..8e543af 100644 --- a/src_testbed/ui.rs +++ b/src_testbed/ui.rs @@ -21,6 +21,41 @@ pub fn update_ui( harness: &mut Harness, debug_render: &mut DebugRenderPipelineResource, ) { + #[cfg(feature = "profiling")] + { + let window = egui::Window::new("Profiling"); + let window = window.default_open(false); + + #[cfg(feature = "unstable-puffin-pr-235")] + { + use std::sync::Once; + static START: Once = Once::new(); + + fn set_default_rapier_filter() { + let mut profile_ui = puffin_egui::PROFILE_UI.lock(); + profile_ui + .profiler_ui + .flamegraph_options + .scope_name_filter + .set_filter("Harness::step_with_graphics".to_string()); + } + START.call_once(|| { + set_default_rapier_filter(); + }); + window.show(ui_context.ctx_mut(), |ui| { + if ui.button("🔍 Rapier filter").clicked() { + set_default_rapier_filter(); + } + puffin_egui::profiler_ui(ui); + }); + } + + #[cfg(not(feature = "unstable-puffin-pr-235"))] + window.show(ui_context.ctx_mut(), |ui| { + puffin_egui::profiler_ui(ui); + }); + } + egui::Window::new("Parameters").show(ui_context.ctx_mut(), |ui| { if state.backend_names.len() > 1 && !state.example_names.is_empty() { let mut changed = false; -- cgit