Only call OSystem::updateScreen() every other frame, so no more than 50 times per second.

This doesn't appear to make a visible difference on PC, but allows the game to run on PSP and probably several other consoles/ports that wait for 50/60hz vsync.
Since I'm not familiar with this engine I've added a 'FIXME' comment, because maybe this can be fixed/improved in a different manner.

svn-id: r22758
This commit is contained in:
Joost Peters 2006-05-29 23:25:50 +00:00
parent 163ed1afd3
commit 4e45be4568

View File

@ -127,7 +127,13 @@ void manageEvents(int count) {
int i;
for (i = 0; i < count; i++) {
g_system->updateScreen();
//FIXME(?): Maybe there's a better way to "fix" this?
//
//Since not all backends/ports can update the screen
//100 times per second, only update the screen every
//other frame (1000 / 2 * 10 i.e. 50 times per second max.)
if (i % 2)
g_system->updateScreen();
g_system->delayMillis(10);
manageEvents(0);
}