[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