From b6472b562b7f52381744790b935af212f0ada80f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 2 May 2018 10:07:37 +0200 Subject: [PATCH] Revert "Limit the flip delay in the other direction to try to work around #10763." --- Core/CoreTiming.cpp | 1 - Core/HLE/sceDisplay.cpp | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/Core/CoreTiming.cpp b/Core/CoreTiming.cpp index 5cebf2f3a5..78ca1d2fb8 100644 --- a/Core/CoreTiming.cpp +++ b/Core/CoreTiming.cpp @@ -585,7 +585,6 @@ void Advance() int cyclesExecuted = slicelength - currentMIPS->downcount; globalTimer += cyclesExecuted; currentMIPS->downcount = slicelength; - VERBOSE_LOG(SCEDISPLAY, "CoreTiming: Event type '%s'", event_types[first->type].name); if (Common::AtomicLoadAcquire(hasTsEvents)) MoveEvents(); diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp index 2d9cef0500..8c7fd13597 100644 --- a/Core/HLE/sceDisplay.cpp +++ b/Core/HLE/sceDisplay.cpp @@ -588,7 +588,6 @@ static void DoFrameTiming(bool &throttle, bool &skipFrame, float timestep) { static void DoFrameIdleTiming() { PROFILE_THIS_SCOPE("timing"); - if (!FrameTimingThrottled() || !g_Config.bEnableSound || wasPaused) { return; } @@ -911,8 +910,6 @@ u32 sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) // sceDisplaySetFramebuf() isn't supposed to delay threads at all. This is a hack. // So let's only delay when it's more than 1ms. const s64 FLIP_DELAY_CYCLES_MIN = usToCycles(1000); - // Though if we are super early, we also don't want to delay because the game is being silly like in #10763 - const s64 FLIP_DELAY_CYCLES_MAX = usToCycles(16000); // This is slightly less than a full frame at 60hz, 16666 // Some games (like Final Fantasy 4) only call this too much in spurts. // The goal is to fix games where this would result in a consistent overhead. const int FLIP_DELAY_MIN_FLIPS = 30; @@ -922,7 +919,7 @@ u32 sceDisplaySetFramebuf(u32 topaddr, int linesize, int pixelformat, int sync) u64 now = CoreTiming::GetTicks(); s64 cyclesAhead = nextFlipCycles - now; - if (cyclesAhead > FLIP_DELAY_CYCLES_MIN && (cyclesAhead < FLIP_DELAY_CYCLES_MAX || PSP_CoreParameter().unthrottle)) { + if (cyclesAhead > FLIP_DELAY_CYCLES_MIN) { if (lastFlipsTooFrequent >= FLIP_DELAY_MIN_FLIPS && gpuStats.numClears > 0) { delayCycles = cyclesAhead; } else {