[Scummvm-tracker] [ScummVM :: Bugs] #15492: SCUMM: MONKEY2 (MAC): Slow rendering with Macintosh titles on OSX PPC in 2.9.0pre

ScummVM :: Bugs trac at scummvm.org
Tue Nov 19 20:47:35 UTC 2024


#15492: SCUMM: MONKEY2 (MAC): Slow rendering with Macintosh titles on OSX PPC in
2.9.0pre
--------------------------------------------+------------------------------
Reporter:  dwatteau                         |       Owner:  (none)
    Type:  defect                           |      Status:  new
Priority:  normal                           |   Component:  Engine: SCUMM
 Version:                                   |  Resolution:
Keywords:  macintosh,performance,rendering  |        Game:  Monkey Island 2
--------------------------------------------+------------------------------
Comment (by eriktorbjorn):

 I think the gamma correction is just a trivial table lookup. There's this
 in `ScummEngine::updatePalette()`:

 {{{
         if (_game.platform == Common::kPlatformMacintosh &&
 _game.heversion == 0) {
                 for (int i = 0; i < 3 * num; ++i)
                         paletteColors[i] =
 _macGammaCorrectionLookUp[paletteColors[i]];
         }
 }}}

 I'm not sure how to read the debug information you attached, but the Mac
 GUI could be a culprit, I guess. Every time the palette is changed, it
 will call `MacWindowManager::passPalette()` so that it can figure out the
 best colors to use for the Mac desktop. (That's part of graphics/macgui so
 it's not specific to the SCUMM Mac GUI.) And for MI2, that can happen a
 few times per second.

 I guess you could test whether or not this is costly by commenting out
 that line from `MacGuiImpl::setPalette()`:

 {{{
 void MacGuiImpl::setPalette(const byte *palette, uint size) {
         _windowManager->passPalette(palette, size);
 }
 }}}

 For the SCUMM Mac GUI I guess it would only actually need to do this right
 before showing the menu bar. But I don't think there currently is a
 mechanism for detecting that?
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15492#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list