[Scummvm-tracker] [ScummVM :: Bugs] #14574: GOB: Excessive blitting drags performance down

ScummVM :: Bugs trac at scummvm.org
Fri Mar 20 05:45:45 UTC 2026


#14574: GOB: Excessive blitting drags performance down
-----------------------------------+--------------------------
Reporter:  mikrosk                 |       Owner:  sdelamarre
    Type:  defect                  |      Status:  new
Priority:  normal                  |   Component:  Engine: Gob
 Version:                          |  Resolution:
Keywords:  gobliiins, performance  |        Game:  Gobliiins
-----------------------------------+--------------------------
Comment (by mikrosk):

 Ween does every frame during gameplay:

   1. o1_keyFunc → forceBlit() → dirtyRectsAll
   2. copyRectToScreen: 0,0 320x200 — fullscreen push (from forceBlit)
   3. copyRectToScreen: 96,67 144x30 — small dirty rect (from
 blitInvalidated)
   4. copyRectToScreen: 208,74 16x23 — small dirty rect (from
 blitInvalidated)

 When I disable that forceBlit() call: fullscreen blits are down from 41 to
 6 (those 6 are probably init/transitions). dirtyRectsAll from 50 to 4.

 It doesn't show up in Goblins games because they don't call o1_keyFunc().

 Unfortunately fixing it wont be so straight-forward, that forceBlit() call
 was introduced in https://github.com/scummvm/scummvm/commit/7c14cf2b and
 we can only guess the exact nature of the problem which it had aimed to
 fix. But during my short test, I didn't notice any visual artefacts.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14574#comment:10>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list