From bf61c890cafc494def3a30ec06b742571b20b8d9 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Mon, 27 Oct 2025 23:59:31 -0500 Subject: VideoCommon/PerformanceMetrics: Display current offset between the latest frame presentation time and the intended presentation time in the "Show Frame Times" box. --- Source/Core/VideoCommon/PerformanceMetrics.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Source/Core/VideoCommon/PerformanceMetrics.cpp') diff --git a/Source/Core/VideoCommon/PerformanceMetrics.cpp b/Source/Core/VideoCommon/PerformanceMetrics.cpp index 5a38e1e3c6..d00e5dbbba 100644 --- a/Source/Core/VideoCommon/PerformanceMetrics.cpp +++ b/Source/Core/VideoCommon/PerformanceMetrics.cpp @@ -23,6 +23,8 @@ void PerformanceMetrics::Reset() m_speed = 0; m_max_speed = 0; + + m_frame_presentation_offset = DT{}; } void PerformanceMetrics::CountFrame() @@ -98,6 +100,11 @@ double PerformanceMetrics::GetMaxSpeed() const return m_max_speed.load(std::memory_order_relaxed); } +void PerformanceMetrics::SetLatestFramePresentationOffset(DT offset) +{ + m_frame_presentation_offset.store(offset, std::memory_order_relaxed); +} + void PerformanceMetrics::DrawImGuiStats(const float backbuffer_scale) { m_vps_counter.UpdateStats(); @@ -293,6 +300,10 @@ void PerformanceMetrics::DrawImGuiStats(const float backbuffer_scale) DT_ms(m_fps_counter.GetDtAvg()).count()); ImGui::TextColored(ImVec4(r, g, b, 1.0f), " ±:%6.2lfms", DT_ms(m_fps_counter.GetDtStd()).count()); + + const auto offset = + DT_ms(m_frame_presentation_offset.load(std::memory_order_relaxed)).count(); + ImGui::TextColored(ImVec4(r, g, b, 1.0f), "ofs:%5.1lfms", offset); } } ImGui::End(); -- cgit v1.2.3