Revert "Limit the flip delay in the other direction to try to work around #10763."

This commit is contained in:
Henrik Rydgård 2018-05-02 10:07:37 +02:00 committed by GitHub
parent bed6d19a4b
commit b6472b562b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 5 deletions

View file

@ -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();

View file

@ -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 {