[Scummvm-git-logs] scummvm master -> 78ec256ccacd4126347f012c259305e2d6750fc3
athrxx
athrxx at scummvm.org
Sat May 22 12:26:27 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
78ec256cca SCUMM: (FM-TOWNS) - fix bug no. 12560 ("[FM Towns] scrolling much too slow")
Commit: 78ec256ccacd4126347f012c259305e2d6750fc3
https://github.com/scummvm/scummvm/commit/78ec256ccacd4126347f012c259305e2d6750fc3
Author: athrxx (athrxx at scummvm.org)
Date: 2021-05-22T14:24:54+02:00
Commit Message:
SCUMM: (FM-TOWNS) - fix bug no. 12560 ("[FM Towns] scrolling much too slow")
(partly revert fb8f1084)
There is no simple solution that would still leave the "butter smooth" scrolling for faster platforms intact. I have measured times between several code points to find any bottlenecks. My finding is that even single script opcodes may well take over 200ms to execute. And exceeding a singe 60 Hz tick happens way more often (which makes the scrolling fall behind and have to catch up, thus becoming a bit sloppy). So, for the "butter smooth" scrolling I'll probably implement a timer for the screen updates (which will then really behave much more like the interrupt handler of the original). But that's for a separate commit. This one is mostly about the bug ticket..
Changed paths:
engines/scumm/gfx_towns.cpp
diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp
index b28d77d34e..d573c1f4e9 100644
--- a/engines/scumm/gfx_towns.cpp
+++ b/engines/scumm/gfx_towns.cpp
@@ -186,7 +186,7 @@ void ScummEngine::towns_updateGfx() {
return;
uint32 cur = _system->getMillis();
- if (_scrollTimer <= cur) {
+ while (_scrollTimer <= cur) {
if (!_scrollTimer)
_scrollTimer = cur;
_scrollTimer += 1000 / 60;
More information about the Scummvm-git-logs
mailing list