mirror of
https://github.com/libretro/scummvm.git
synced 2025-03-05 01:38:36 +00:00
MOHAWK: RIVEN: Delay less for slower systems
Some systems may take longer to process the game loop than others so we delay by a variable amount so faster and slower system execute the game loop the same number of times per second (the fps is capped at 100). Slower systems that take longer than 10ms to process the game loop won't have any delay.
This commit is contained in:
parent
56389b1a5d
commit
535c47fced
@ -209,6 +209,7 @@ Common::Error MohawkEngine_Riven::run() {
|
||||
|
||||
void MohawkEngine_Riven::doFrame() {
|
||||
// Update background running things
|
||||
uint32 loopStart = _system->getMillis();
|
||||
_sound->updateSLST();
|
||||
_video->updateMovies();
|
||||
|
||||
@ -234,9 +235,11 @@ void MohawkEngine_Riven::doFrame() {
|
||||
|
||||
// Update the screen once per frame
|
||||
_system->updateScreen();
|
||||
uint32 loopElapsed = _system->getMillis() - loopStart;
|
||||
|
||||
// Cut down on CPU usage
|
||||
_system->delayMillis(10);
|
||||
if (loopElapsed < 10)
|
||||
_system->delayMillis(10 - loopElapsed);
|
||||
}
|
||||
|
||||
void MohawkEngine_Riven::processInput() {
|
||||
|
@ -106,6 +106,7 @@ public:
|
||||
bool hasFeature(EngineFeature f) const override;
|
||||
|
||||
void doFrame();
|
||||
void processInput();
|
||||
|
||||
private:
|
||||
// Datafiles
|
||||
|
Loading…
x
Reference in New Issue
Block a user