summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-07-15 23:25:44 -0700
committerIrene Knapp <ireneista@irenes.space>2026-07-15 23:25:44 -0700
commitdcbafa3d15f941dc46639a418e5724394d9a8ba2 (patch)
tree26de4f8ae3a56d693c160eb6713e5b1bda787587 /src
parent5dddb64f6a2fd072f2a26d4400f9a2a84386dc4e (diff)
add an fps counter
Force-Push: yes
Change-Id: I66313a981a19ca65fa68463e89e093da14fde41e
Diffstat (limited to 'src')
-rw-r--r--src/main.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 7372a24..ae56f2a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -34,6 +34,10 @@ struct Surreality {
   is_reinit_queued: bool,
   frame_index: usize,
   simulation_start: Instant,
+
+  frame_count: usize,
+  last_second: u64,
+  frame_count_last_second: usize,
 }
 
 impl Surreality {
@@ -46,6 +50,9 @@ impl Surreality {
       is_reinit_queued: false,
       frame_index: 0,
       simulation_start: Instant::now(),
+      frame_count: 0,
+      last_second: 0,
+      frame_count_last_second: 0,
     }
   }
 
@@ -168,6 +175,16 @@ impl Surreality {
       self.frame_index = (frame_index + 1) % N_SIMULTANEOUS_FRAMES;
     }
 
+    self.frame_count += 1;
+    let second = self.simulation_start.elapsed().as_secs();
+    if second > self.last_second {
+      let rate = (self.frame_count - self.frame_count_last_second) as f32
+                 / (second - self.last_second) as f32;
+      println!("{} fps", rate);
+      self.frame_count_last_second = self.frame_count;
+      self.last_second = second;
+    }
+
     Ok(false)
   }
 }