From 66934cc5b82eee42b57952e8801c7b7657b2e5ac Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 23 May 2025 15:16:15 +1000 Subject: [PATCH] System: Include queued frames in input latency stats --- src/core/system.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/system.cpp b/src/core/system.cpp index 6bd8ddcce..36dd1fa05 100644 --- a/src/core/system.cpp +++ b/src/core/system.cpp @@ -3504,15 +3504,17 @@ void System::FormatLatencyStats(SmallStringBase& str) AudioStream* audio_stream = SPU::GetOutputStream(); const u32 audio_latency = AudioStream::GetMSForBufferSize(audio_stream->GetSampleRate(), audio_stream->GetBufferedFramesRelaxed()); + const u32 queued_frame_count = GPUBackend::GetQueuedFrameCount(); const double active_frame_time = std::ceil(Timer::ConvertValueToMilliseconds(s_state.last_active_frame_time)); const double pre_frame_time = std::ceil(Timer::ConvertValueToMilliseconds(s_state.pre_frame_sleep_time)); const double input_latency = std::ceil( - Timer::ConvertValueToMilliseconds(s_state.frame_period - s_state.pre_frame_sleep_time) - + Timer::ConvertValueToMilliseconds((s_state.frame_period - s_state.pre_frame_sleep_time) * + static_cast(std::max(queued_frame_count, 1u))) - Timer::ConvertValueToMilliseconds(static_cast(s_state.runahead_frames) * s_state.frame_period)); str.format("AL: {}ms | AF: {:.0f}ms | PF: {:.0f}ms | IL: {:.0f}ms | QF: {}", audio_latency, active_frame_time, - pre_frame_time, input_latency, GPUBackend::GetQueuedFrameCount()); + pre_frame_time, input_latency, queued_frame_count); } void System::UpdateSpeedLimiterState()