diff options
| author | Thierry Berger <contact@thierryberger.com> | 2024-11-19 16:33:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-19 16:33:26 +0100 |
| commit | 510237cc29ebc667a8c158ef0340b7d1aa669a72 (patch) | |
| tree | 772daf3fac2e463eba254900001fce5a659f2f92 /src_testbed/ui.rs | |
| parent | ff79f4c67478f8c8045464cac22f9e57388cd4a0 (diff) | |
| download | rapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.tar.gz rapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.tar.bz2 rapier-510237cc29ebc667a8c158ef0340b7d1aa669a72.zip | |
Profiling support (#743)
Diffstat (limited to 'src_testbed/ui.rs')
| -rw-r--r-- | src_testbed/ui.rs | 35 |
1 files changed, 35 insertions, 0 deletions
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; |
