From 081b92b8a7927fe699c5515cb1c90dcf8fe44179 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Sat, 5 Aug 2017 00:40:17 -0500 Subject: [PATCH] Video Common: Only update FPS when frame is renderered which yields more accurate results --- Source/Core/VideoCommon/RenderBase.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 168aece684..0a3648c9ea 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -662,6 +662,7 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const } } + bool update_frame_count = false; if (xfbAddr && fbWidth && fbStride && fbHeight) { constexpr int force_safe_texture_cache_hash = 0; @@ -677,12 +678,12 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const // TODO: merge more generic parts into VideoCommon g_renderer->SwapImpl(xfb_entry->texture.get(), rc, ticks, Gamma); + + m_fps_counter.Update(); + update_frame_count = true; } } - if (m_xfb_written) - m_fps_counter.Update(); - frameCount++; GFX_DEBUGGER_PAUSE_AT(NEXT_FRAME, true); @@ -691,7 +692,7 @@ void Renderer::Swap(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, const // New frame stats.ResetFrame(); - Core::Callback_VideoCopiedToXFB(m_xfb_written || !g_ActiveConfig.bSkipXFBCopyToRam); + Core::Callback_VideoCopiedToXFB(update_frame_count); m_xfb_written = false; }