diff --git a/src/core.c b/src/core.c index fceed3a0f..f2d714331 100644 --- a/src/core.c +++ b/src/core.c @@ -609,8 +609,10 @@ void EngineMainLoop(void) } #endif - // Wait for vblank to finish - while (REG_DISPSTAT & DISPSTAT_VBLANK) + // NOTE: If other platforms do V-Sync asynchronously, we may need to incorporate this wait. + // + // Wait for vblank to finish, we only compute the frame once the new frame started. + while (PLATFORM_GBA && (REG_DISPSTAT & DISPSTAT_VBLANK)) ; }; }