System: Include queued frames in input latency stats

This commit is contained in:
Stenzek 2025-05-23 15:16:15 +10:00
parent 03111befb9
commit 66934cc5b8
No known key found for this signature in database

View File

@ -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<float>(std::max(queued_frame_count, 1u))) -
Timer::ConvertValueToMilliseconds(static_cast<Timer::Value>(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()