summary refs log tree commit diff
diff options
context:
space:
mode:
-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)
   }
 }