Opened 16 years ago

Closed 16 years ago

Last modified 11 months ago

#1378 closed defect (fixed)

IMuseDigital extremly slow

Reported by: fingolfin Owned by: aquadran
Priority: normal Component: Engine: SCUMM
Keywords: Cc:


The new IMuseDigital is unbearably slow on my machine.
Essentially all games using it became unplayable on my

I haven't yet examined the code, but something changed by
far for the worse in it :-/
I'll try to run a profiler etc. over it to see where all the CPU
power is being eaten up.

Ticket imported from: #872067. Ticket imported from: bugs/1378.

Change History (7)

comment:1 by eriktorbjorn, 16 years ago

CPU usage doesn't look out of the ordinary here, but I'll
probably have the time to try it on a slower machine later

I notice that one of the changes between today's snapshot
and yesterday's (which I didn't get around to trying either)
is the removal of a busy-wait loop. I don't know if/how that
affected this bug report, but it probably didn't hurt!

comment:2 by fingolfin, 16 years ago

erik, yes, I removed the busy wait loop - but the worse problem
was that the code was locking a mutex several times in a row...

Anyway, speed is *much* better with aquadran's latest caching

There are still enough problems left, though, like in COMI, voices
are cut off a lot (in the first room, for example, listen to Wally...)

comment:3 by eriktorbjorn, 16 years ago

Hmm... Yes, Wally's voice sounds wrong. It doesn't cut off
for me, but there's some distortion - or maybe just the
volume dipping for a moment - at the beginning of everything
he says.

And after a while it crashed with a failed assertion. I'll
file a separate bug report about that.

comment:4 by fingolfin, 16 years ago

By just letting it run on the COMI difficulty selection screen, after
some time I start getting lots of these:
WARNING: AppendableMemoryStream: buffer overflow (B)!

comment:5 by fingolfin, 16 years ago

Resolution: fixed
Status: newclosed

comment:6 by fingolfin, 16 years ago

Closing this, as speed is fine now (there are some remaining
issues with the new code, it seems, like that
"AppendableMemoryStream: buffer overflow" thing, but it does
work reasonably well now).
Thanks, aquadran!

comment:7 by digitall, 11 months ago

Component: --Unset--Engine: SCUMM
Note: See TracTickets for help on using tickets.