[Scummvm-tracker] [ScummVM :: Bugs] #15978: ASYLUM: Sanitarium always blits fullscreen rectangles
ScummVM :: Bugs
trac at scummvm.org
Mon Apr 27 08:21:48 UTC 2026
#15978: ASYLUM: Sanitarium always blits fullscreen rectangles
------------------------+-----------------------------
Reporter: mikrosk | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Engine: Asylum
Version: | Resolution:
Keywords: performance | Game: Sanitarium
------------------------+-----------------------------
Comment (by mikrosk):
I have briefly looked into this -- this is not a case of wrongly
calculated dirty rects or something similar.
Asylum's Scene::drawScene() (engines/asylum/views/scene.cpp:2517) runs on
every screen-update tick and unconditionally re-blits the room background
as its first action - Screen::draw(_ws->backgroundImage, 0, Point(-xLeft,
-yTop), kDrawFlagNone, false) at scene.cpp:2531. With colorKey=false this
resolves to a plain memcpy of the visible viewport into the back buffer,
after which actors, objects and the cursor are drawn on top, and
copyBackBufferToScreen() pushes the whole back buffer to
OSystem::copyRectToScreen().
A fix would need to change the drawing model (preserve the previous
composited frame and only repaint the bbox of moved actors.
--
Ticket URL: <https://bugs.scummvm.org/ticket/15978#comment:2>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list