free up cpu by not calling timer_delay so many times

This commit is contained in:
Bradley Bell 2004-11-27 02:05:57 +00:00
parent af1bd8d786
commit bfea970440
2 changed files with 11 additions and 8 deletions

View file

@ -1,5 +1,8 @@
2004-11-26 Bradley Bell <btb@icculus.org>
* main/game.c: free up cpu by not calling timer_delay so many
times (fixes Bug 2034)
* main/gameseq.c: enable briefing screens for mac shareware
* 2d/bitblt.c: disable Assert so the credits work in opengl (gl

View file

@ -1,4 +1,4 @@
/* $Id: game.c,v 1.32 2004-10-23 19:09:58 schaffner Exp $ */
/* $Id: game.c,v 1.33 2004-11-27 02:05:57 btb Exp $ */
/*
THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
@ -23,7 +23,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#endif
#ifdef RCS
char game_rcsid[] = "$Id: game.c,v 1.32 2004-10-23 19:09:58 schaffner Exp $";
char game_rcsid[] = "$Id: game.c,v 1.33 2004-11-27 02:05:57 btb Exp $";
#endif
#ifdef WINDOWS
@ -1221,12 +1221,12 @@ void calc_frame_time()
timer_value = timer_get_fixed_seconds();
FrameTime = timer_value - last_timer_value;
do {
timer_value = timer_get_fixed_seconds();
FrameTime = timer_value - last_timer_value;
if (FrameTime < f1_0/maxfps);
timer_delay(1);
} while (FrameTime < f1_0/maxfps);
while (FrameTime < f1_0 / maxfps)
{
timer_delay(f1_0 / maxfps - FrameTime);
timer_value = timer_get_fixed_seconds();
FrameTime = timer_value - last_timer_value;
}
#if defined(TIMER_TEST) && !defined(NDEBUG)
_timer_value = timer_value;