diff options
author | Filippos Karapetis | 2010-06-14 08:36:52 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-06-14 08:36:52 +0000 |
commit | cfdbfaa28eb29cb17185d3d3d1ddde8c89a369c1 (patch) | |
tree | 14a22812a24961c16da27de73b1b6056b367f9a5 /engines/sci/event.cpp | |
parent | 58487da20bf0115cfdefc2769c831c64b22d524c (diff) | |
download | scummvm-rg350-cfdbfaa28eb29cb17185d3d3d1ddde8c89a369c1.tar.gz scummvm-rg350-cfdbfaa28eb29cb17185d3d3d1ddde8c89a369c1.tar.bz2 scummvm-rg350-cfdbfaa28eb29cb17185d3d3d1ddde8c89a369c1.zip |
SCI: Limit the screen refresh rate to 60fps
svn-id: r49647
Diffstat (limited to 'engines/sci/event.cpp')
-rw-r--r-- | engines/sci/event.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp index cdddb26ca4..ed9c4bfd0d 100644 --- a/engines/sci/event.cpp +++ b/engines/sci/event.cpp @@ -319,8 +319,14 @@ sciEvent EventManager::get(unsigned int mask) { //sci_event_t error_event = { SCI_EVT_ERROR, 0, 0, 0 }; sciEvent event = { 0, 0, 0, 0 }; - // Update the screen here, since it's called very often - g_system->updateScreen(); + // Update the screen here, since it's called very often. + // Throttle the screen update rate to 60fps. + uint32 curTime = g_system->getMillis(); + uint32 duration = curTime - g_sci->getEngineState()->_screenUpdateTime; + if (duration >= 1000 / 60) { + g_system->updateScreen(); + g_sci->getEngineState()->_screenUpdateTime = g_system->getMillis(); + } // Get all queued events from graphics driver do { |