diff --git a/ddraw.dll b/ddraw.dll
index 74e93a4..6d2ed71 100644
Binary files a/ddraw.dll and b/ddraw.dll differ
diff --git a/render.c b/render.c
index 9555b5f..1c3c680 100644
--- a/render.c
+++ b/render.c
@@ -99,7 +99,7 @@ DWORD WINAPI render_main(void)
 	
         if(ddraw->render.maxfps > 0)
         {
-            tick_start = GetTickCount();
+            tick_start = timeGetTime();
         }
 
         /* convert ddraw surface to opengl texture */
@@ -154,7 +154,7 @@ DWORD WINAPI render_main(void)
 
         if((ddraw->render.maxfps > 0))
         {        
-			tick_end = GetTickCount();
+			tick_end = timeGetTime();
 			
            if(tick_end - tick_start < frame_len)
            {
diff --git a/render_soft.c b/render_soft.c
index da0dcee..5e0bac0 100644
--- a/render_soft.c
+++ b/render_soft.c
@@ -101,7 +101,7 @@ DWORD WINAPI render_soft_main(void)
     {
         if(ddraw->render.maxfps > 0)
         {
-            tick_start = GetTickCount();
+            tick_start = timeGetTime();
         }
 		
 		 EnterCriticalSection(&ddraw->cs);
@@ -155,7 +155,7 @@ DWORD WINAPI render_soft_main(void)
 
         if((ddraw->render.maxfps > 0) && !detect_cutscene())
         {
-            tick_end = GetTickCount();
+            tick_end = timeGetTime();
 
             if(tick_end - tick_start < frame_len)
             {