[Scummvm-cvs-logs] CVS: residual engine.cpp,1.99,1.100 engine.h,1.40,1.41
Pawel Kolodziejski
aquadran at users.sourceforge.net
Sat Jan 21 09:23:02 CET 2006
Update of /cvsroot/scummvm/residual
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9055
Modified Files:
engine.cpp engine.h
Log Message:
added speed main loop limit
Index: engine.cpp
===================================================================
RCS file: /cvsroot/scummvm/residual/engine.cpp,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- engine.cpp 26 Dec 2005 19:26:46 -0000 1.99
+++ engine.cpp 21 Jan 2006 17:22:39 -0000 1.100
@@ -68,6 +68,7 @@
_textSpeed = 6;
_mode = _previousMode = ENGINE_MODE_IDLE;
_flipEnable = true;
+ _lastUpdateTime = 0;
_refreshDrawNeeded = true;
g_searchFile = NULL;
_savedState = NULL;
@@ -217,6 +218,12 @@
void Engine::luaUpdate() {
// Update timing information
unsigned newStart = SDL_GetTicks();
+ if (newStart < _frameStart) {
+ _frameStart = newStart;
+ return;
+ }
+ if (newStart - _frameStart < 30)
+ return;
_frameTime = newStart - _frameStart;
_frameStart = newStart;
@@ -239,6 +246,17 @@
}
void Engine::updateDisplayScene() {
+ uint32 newTime = SDL_GetTicks();
+ if (newTime < _lastUpdateTime) {
+ _lastUpdateTime = newTime;
+ _doFlip = false;
+ }
+ if (newTime - _lastUpdateTime < 30) {
+ _doFlip = false;
+ return;
+ }
+ _lastUpdateTime = newTime;
+
_doFlip = true;
if (_mode == ENGINE_MODE_SMUSH) {
@@ -349,15 +367,12 @@
}
void Engine::doFlip() {
- if (SHOWFPS_GLOBAL)
+ if (SHOWFPS_GLOBAL && _doFlip)
g_driver->drawEmergString(550, 25, _fps, Color(255, 255, 255));
if (_doFlip && _flipEnable)
g_driver->flipBuffer();
- // don't kill CPU
- SDL_Delay(1);
-
if (SHOWFPS_GLOBAL && _doFlip) {
_frameCounter++;
_timeAccum += _frameTime;
Index: engine.h
===================================================================
RCS file: /cvsroot/scummvm/residual/engine.h,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- engine.h 26 Dec 2005 19:26:46 -0000 1.40
+++ engine.h 21 Jan 2006 17:22:39 -0000 1.41
@@ -220,6 +220,7 @@
int _speechMode;
int _textSpeed;
bool _flipEnable;
+ uint32 _lastUpdateTime;
bool _refreshDrawNeeded;
char _fps[8];
bool _doFlip;
More information about the Scummvm-git-logs
mailing list