changed Sys_Sleep from (void) to (int milliseconds), now wastes a lot less cpu time...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 1 Feb 2004 22:30:51 +0000 (22:30 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Sun, 1 Feb 2004 22:30:51 +0000 (22:30 +0000)
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@3847 d7cf8633-e32d-0410-b094-e92efae38249

cl_parse.c
host.c
sys.h
sys_linux.c
sys_sdl.c
sys_win.c

index 9095337..dfe44a9 100644 (file)
@@ -206,7 +206,7 @@ void CL_KeepaliveMessage (void)
                MSG_WriteChar(&msg, svc_nop);
                NetConn_SendUnreliableMessage(cls.netcon, &msg);
                // try not to utterly crush the computer with work, that's just rude
-               Sys_Sleep();
+               Sys_Sleep(1);
        }
 }
 
diff --git a/host.c b/host.c
index f1943a7..09683f9 100644 (file)
--- a/host.c
+++ b/host.c
@@ -577,7 +577,7 @@ qboolean Host_FilterTime (double time)
                {
                        // don't totally hog the CPU
                        if (timeleft >= 0.02)
-                               Sys_Sleep();
+                               Sys_Sleep(timeleft * 1000 - 5);
                        return false;
                }
        }
diff --git a/sys.h b/sys.h
index 6b38df3..73e2da0 100644 (file)
--- a/sys.h
+++ b/sys.h
@@ -67,7 +67,7 @@ double Sys_DoubleTime (void);
 
 char *Sys_ConsoleInput (void);
 
-void Sys_Sleep (void);
+void Sys_Sleep(int milliseconds);
 // called to yield for a little bit so as
 // not to hog cpu when paused or debugging
 
index 728ff5f..c61e01b 100644 (file)
@@ -194,12 +194,14 @@ char *Sys_ConsoleInput(void)
        return NULL;
 }
 
-void Sys_Sleep(void)
+void Sys_Sleep(int milliseconds)
 {
+       if (milliseconds < 1)
+               milliseconds = 1;
 #ifdef WIN32
-       Sleep (1);
+       Sleep(milliseconds);
 #else
-       usleep(1);
+       usleep(milliseconds * 1000);
 #endif
 }
 
index bb23649..9c75716 100644 (file)
--- a/sys_sdl.c
+++ b/sys_sdl.c
@@ -195,13 +195,11 @@ char *Sys_ConsoleInput(void)
        return NULL;
 }
 
-void Sys_Sleep(void)
+void Sys_Sleep(int milliseconds)
 {
-#ifdef WIN32
-       Sleep (1);
-#else
-       usleep(1);
-#endif
+       if (milliseconds < 1)
+               milliseconds = 1;
+       SDL_Delay(milliseconds);
 }
 
 int SDL_main (int argc, char *argv[])
index 34f8238..f3ea0e2 100644 (file)
--- a/sys_win.c
+++ b/sys_win.c
@@ -271,9 +271,11 @@ char *Sys_ConsoleInput (void)
        return NULL;
 }
 
-void Sys_Sleep (void)
+void Sys_Sleep(int milliseconds)
 {
-       Sleep (1);
+       if (milliseconds < 1)
+               milliseconds = 1;
+       Sleep(milliseconds);
 }