diff --git a/Core/HLE/sceDisplay.cpp b/Core/HLE/sceDisplay.cpp index d636a9b12a..31879032b3 100644 --- a/Core/HLE/sceDisplay.cpp +++ b/Core/HLE/sceDisplay.cpp @@ -499,9 +499,6 @@ static void DoFrameIdleTiming() { void hleEnterVblank(u64 userdata, int cyclesLate) { int vbCount = userdata; - // This should be a good place to do it. Should happen once per vblank. Here or in leave? Not sure it matters much. - Achievements::FrameUpdate(); - VERBOSE_LOG(SCEDISPLAY, "Enter VBlank %i", vbCount); DisplayFireVblankStart(); diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index e634f41350..a1726643cf 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -1432,6 +1432,9 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) { } PSP_EndHostFrame(); + + // This place rougly matches how libretro handles it (after retro_frame). + Achievements::FrameUpdate(); }