From dd2fe90d949e493a1c35b0d3082e4c2ad233ade1 Mon Sep 17 00:00:00 2001 From: NathanW Date: Wed, 21 Oct 2020 23:38:45 -0600 Subject: [PATCH] Address issue #808: Add Frame Time in DebugInfo --- voxygen/src/hud/mod.rs | 20 ++++++++++++-------- voxygen/src/session.rs | 1 + 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/voxygen/src/hud/mod.rs b/voxygen/src/hud/mod.rs index ba0819a45b..0350b89dd1 100644 --- a/voxygen/src/hud/mod.rs +++ b/voxygen/src/hud/mod.rs @@ -22,7 +22,6 @@ mod util; pub use hotbar::{SlotContents as HotbarSlotContents, State as HotbarState}; pub use settings_window::ScaleChange; -use std::time::Duration; use bag::Bag; use buttons::Buttons; @@ -74,7 +73,7 @@ use specs::{Join, WorldExt}; use std::{ collections::{HashMap, VecDeque}, sync::Arc, - time::Instant, + time::{Duration, Instant}, }; use vek::*; @@ -267,6 +266,7 @@ widget_ids! { pub struct DebugInfo { pub tps: f64, + pub frame_time: Duration, pub ping_ms: f64, pub coordinates: Option, pub velocity: Option, @@ -1482,12 +1482,16 @@ impl Hud { .color(TEXT_COLOR) .set(self.ids.version, ui_widgets); // Ticks per second - Text::new(&format!("FPS: {:.0}", debug_info.tps)) - .color(TEXT_COLOR) - .down_from(self.ids.version, 5.0) - .font_id(self.fonts.cyri.conrod_id) - .font_size(self.fonts.cyri.scale(14)) - .set(self.ids.fps_counter, ui_widgets); + Text::new(&format!( + "FPS: {:.0} ({}ms)", + debug_info.tps, + debug_info.frame_time.as_millis() + )) + .color(TEXT_COLOR) + .down_from(self.ids.version, 5.0) + .font_id(self.fonts.cyri.conrod_id) + .font_size(self.fonts.cyri.scale(14)) + .set(self.ids.fps_counter, ui_widgets); // Ping Text::new(&format!("Ping: {:.0}ms", debug_info.ping_ms)) .color(TEXT_COLOR) diff --git a/voxygen/src/session.rs b/voxygen/src/session.rs index 6162696608..9d752aeed3 100644 --- a/voxygen/src/session.rs +++ b/voxygen/src/session.rs @@ -712,6 +712,7 @@ impl PlayState for SessionState { .toggle_debug .then(|| DebugInfo { tps: global_state.clock.get_tps(), + frame_time: global_state.clock.get_avg_delta(), ping_ms: self.client.borrow().get_ping_ms_rolling_avg(), coordinates: self .client