Explorar o código

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
flashback-fx %!s(int64=3) %!d(string=hai) anos
pai
achega
8c55b40e9e
Modificáronse 1 ficheiros con 5 adicións e 6 borrados
  1. 5 6
      src/rcore.c

+ 5 - 6
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;