summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Present.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-10-27 18:18:38 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2025-11-11 20:01:52 -0600
commit16260040e0d585f529abcde3820e2a203d1710eb (patch)
tree64ab6df012b6a4ab944ebdb3a890fb563aa5685f /Source/Core/VideoCommon/Present.cpp
parent8495e0166819919c3e1b9e162460d749720a0111 (diff)
CoreTiming: Add "Rush Frame Presentation" setting to throttle only once after each presentation for lower input latency.
Diffstat (limited to 'Source/Core/VideoCommon/Present.cpp')
-rw-r--r--Source/Core/VideoCommon/Present.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Present.cpp b/Source/Core/VideoCommon/Present.cpp
index d2ba5f2211..ce4b62a85b 100644
--- a/Source/Core/VideoCommon/Present.cpp
+++ b/Source/Core/VideoCommon/Present.cpp
@@ -5,6 +5,7 @@
#include "Common/ChunkFile.h"
#include "Core/Config/GraphicsSettings.h"
+#include "Core/Config/MainSettings.h"
#include "Core/CoreTiming.h"
#include "Core/HW/VideoInterface.h"
#include "Core/Host.h"
@@ -201,7 +202,13 @@ void Presenter::ViSwap(u32 xfb_addr, u32 fb_width, u32 fb_stride, u32 fb_height,
if (!is_duplicate || !g_ActiveConfig.bSkipPresentingDuplicateXFBs)
{
- Present(presentation_time);
+ // If RushFramePresentation is enabled, ignore the proper time to present as soon as possible.
+ // The goal is to achieve the lowest possible input latency.
+ if (Config::Get(Config::MAIN_RUSH_FRAME_PRESENTATION))
+ Present();
+ else
+ Present(presentation_time);
+
ProcessFrameDumping(ticks);
video_events.after_present_event.Trigger(present_info);