CoreTiming: Add "Rush Frame Presentation" setting to throttle only once after each presentation for lower input latency.

This commit is contained in:
Jordan Woyak
2025-11-11 20:01:52 -06:00
parent 8495e01668
commit 16260040e0
6 changed files with 57 additions and 3 deletions
+8 -1
View File
@@ -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);