From 17de5bcb76b4d2f1b4f79d5e386613fedb1364d4 Mon Sep 17 00:00:00 2001 From: Michael Sippel Date: Wed, 31 Jul 2024 19:18:00 +0200 Subject: [PATCH] show average fps on console --- src/main.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index b2b53dd..69761da 100644 --- a/src/main.rs +++ b/src/main.rs @@ -111,6 +111,9 @@ async fn main() { let mut last_tap = std::time::Instant::now(); let mut z = 0; + let mut frame_count = 0; + let mut fps_sum_window = std::time::Instant::now(); + let mut active = false; for i in 0..5 { @@ -119,9 +122,18 @@ async fn main() { event_loop.run(move |event, elwt| { let tcur = std::time::Instant::now(); + if (tcur - fps_sum_window).as_millis() > 5000 { + let avg_fps = (1000.0 * frame_count as f32) / ((tcur - fps_sum_window).as_millis() as f32); + eprintln!("avg fps: {}", avg_fps); + fps_sum_window = tcur; + frame_count = 0; + } else { + frame_count += 1; + } + elwt.set_control_flow(ControlFlow:: WaitUntil( - tcur + Duration::from_millis(100) + tcur + Duration::from_millis(25) )); inputs.write().unwrap().t = tcur - tbegin; inputs.write().unwrap().transition_time = tcur - transition_begin; @@ -237,12 +249,12 @@ async fn main() { eprintln!("--------------"); } } - _ => {} + _ => {} + } } } - } - _ => {} + _ => {} } let (width, height) = *dim.lock().unwrap(); @@ -252,7 +264,7 @@ async fn main() { NonZeroU32::new(height).unwrap(), ) .unwrap(); - + if let Ok(mut buf) = surface.lock().unwrap().buffer_mut() { lighting_setup.draw_preview( &mut buf, width, height ); buf.present().unwrap();