From 8c55b40e9ed52de00a73494e053af80057c126b6 Mon Sep 17 00:00:00 2001 From: flashback-fx Date: Tue, 7 Jun 2022 21:01:29 +0200 Subject: [PATCH] Unify busy waiting behavior across conditional compilation branches (#2508) * Unify busy waiting behavior across conditional compilation branches * Inline busy waiting code instead of using static function --- src/rcore.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index 932b9ee49..fa9fdf932 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -4826,15 +4826,14 @@ static void InitTimer(void) // Ref: http://www.geisswerks.com/ryan/FAQS/timing.html --> All about timming on Win32! void WaitTime(double seconds) { -#if defined(SUPPORT_BUSY_WAIT_LOOP) - double previousTime = GetTime(); - double currentTime = 0.0; +#if defined(SUPPORT_BUSY_WAIT_LOOP) || defined(SUPPORT_PARTIALBUSY_WAIT_LOOP) + double destinationTime = GetTime() + seconds; +#endif - // Busy wait loop - while ((currentTime - previousTime) < seconds) currentTime = GetTime(); +#if defined(SUPPORT_BUSY_WAIT_LOOP) + while (GetTime() < destinationTime) { } #else #if defined(SUPPORT_PARTIALBUSY_WAIT_LOOP) - double destinationTime = GetTime() + seconds; double sleepSeconds = seconds - seconds*0.05; // NOTE: We reserve a percentage of the time for busy waiting #else double sleepSeconds = seconds;