Opened 6 months ago

Closed 6 months ago

Last modified 6 months ago

#13198 closed defect (fixed)

SHERLOCK: Intro too slow in the German Version since version 2.5.1

Reported by: Commodusaurel Owned by: eriktorbjorn
Priority: high Component: Engine: Sherlock
Version: Keywords:
Cc: Game: Sherlock Holmes: Case of the Serrated Scalpel

Description (last modified by Commodusaurel)

Hello. Since version 2.5.1 the intro of "The Lost Files of Sherlock Holmes: The Case of the Serrated Scalpel" (German version) is to slow / OS Win 8.1

Change History (13)

comment:1 by Commodusaurel, 6 months ago

Description: modified (diff)

comment:2 by bluegr, 6 months ago

Summary: Intro since 2.5.1 in German Version to slowSHERLOCK: Intro too slow in the German Version since version 2.5.1

comment:3 by eriktorbjorn, 6 months ago

I don't have the German version, but just to be clear... it ran at the correct speed in 2.5.0, but not 2.5.1? If so, that seems strange to me because I'm not aware of any changes in 2.5.1 that would affect that.

comment:4 by eriktorbjorn, 6 months ago

Actually, it seems I can reproduce it with the English version, if I selected a small installation. (I have two English versions, and this option was only available for one of them. It reduces the size of the data files from ~28 MB to ~13 MB.) I'll see if I can figure out what caused that, and hopefully it will apply to the German version as well.

comment:5 by eriktorbjorn, 6 months ago

The slowdown was introduced when we started decoding frames on demand, rather than in advance, to fix a crash at the lab table. See https://github.com/scummvm/scummvm/commit/046e39428bae509f087bc0ffc25b1f925f565435

If I understand correctly, the intro animation does lots of reads from the same resource file, and for each of them it has to decompress the entire resource file. So while each image is decoded in a few milliseconds, that adds up to a lot.

comment:6 by eriktorbjorn, 6 months ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed

I've committed a fix which I hope will take care of it. It should be in the next nightly build, and in 2.5.2 if that's ever released. Let me know if it works for you. If not, I'll reopen the bug report.

comment:7 by Commodusaurel, 6 months ago

The problem is only partially fixed. The intro of Sherlock runs flawlessly with Soundblaster audio, but with Roland MT-32 audio there are severe sound crackles.

comment:8 by eriktorbjorn, 6 months ago

Resolution: fixed
Status: closednew

Ok, I'll reopen it for now. But this time I'm afraid that I can't reproduce the problem with my English version. I don't hear any crackling with the MT-32 emulator, and CPU usage stays at reasonable levels throughout even with a 4x graphics scaler. (Even more so if I compile it in release mode instead of debug mode.)

And this is on a computer that I bought around... 2015, I think? So it's hardly a powerhouse by today's standards.

comment:9 by Commodusaurel, 6 months ago

Since build of January 9th. I have the MT-32 problem in almost every game. In 2.5.1 or Daily Build Installer from December 27th was everything OK

comment:10 by eriktorbjorn, 6 months ago

Sounds like the MT-32 problem should be its own separate bug report then, since the fix I made for the intro slowdown was very much limited to the Sherlock engine.

comment:11 by eriktorbjorn, 6 months ago

Resolution: fixed
Status: newclosed

I'm closing this again, since the intro slowdown is fixed. If the MT-32 problem (which can't be related to this since you say it affects multiple game engines, not just Sherlock) persists, could you please file a new bug report about that?

comment:12 by Commodusaurel, 6 months ago

I'm waiting for an updated Daily Build Windows Installer. The current one is from December 27th, although January 8th is behind the download. I think the MT-32 sound problem comes from copying the ScummVM daily build manually. Thanks for the fix.

comment:13 by Commodusaurel, 6 months ago

With the latest Daily Build Installer, Sherlock works great with MT-32 Music and Intro Thanks again

Note: See TracTickets for help on using tickets.