#1386 closed defect (fixed)
BS2: music cuts out while scrolling takes place
Reported by: | SF/cloney | Owned by: | eriktorbjorn |
---|---|---|---|
Priority: | normal | Component: | Engine: Sword2 |
Version: | Keywords: | ||
Cc: | Game: | Broken Sword 2 |
Description
Gentoo Linux (stable) ScummVM 12/01/2004 CVS ALSA 0.9.8 Total Revolution version of BS2 (identical to Sold Out, I think)
When running BS2, the music cuts out while the screen is scrolling. This is noticable right from the start, when George backs away from the spider and forces the screen to scroll.
This has been the case for at least the last few days worth of builds, but I don't think I remember it being a problem previously. I tried BS1 for comparison, and there were no music problems while scrolling.
Cloney
Ticket imported from: #875683. Ticket imported from: bugs/1386.
Change History (10)
comment:1 by , 21 years ago
comment:2 by , 21 years ago
As an experiment, I've added a delay of 0 milliseconds when it draws interpolation frames. It shouldn't delay anything, but perhaps it will give the audio thread some breathing room. Or not. We'll see.
comment:3 by , 21 years ago
Just got the latest anon-cvs and tried it - the music still stops during scrolling, although interestingly it restarts slightly before the scrolling finishes.
Other people in #scummvm mentioned that scrolling in BS2 used 80-100% of their CPU when scrolling, compared to about 10-20% in BS1.
I'll try BS2 on Windows XP with ScummVM later, to see if it's something specific to my Linux setup.
Cloney
comment:4 by , 21 years ago
In sword2/driver/render.cpp there is the following line:
_vm->_system->delay_msecs(0);
That was the line I added as an experiment. What happens if you change the 0 to, say, 10?
comment:6 by , 21 years ago
Ok, I've committed that change to CVS. I'd like to test it on a slower computer before I close the bug report, so I'll keep it open for a while longer.
comment:7 by , 21 years ago
For the record, I've got a 900Mhz Athlon Thunderbird with 256Mb RAM, and I'm running a 2.4.X kernel.
comment:8 by , 21 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:9 by , 21 years ago
Pffft. That's a *fast* computer. ;-)
Anyway, it still looks smooth on my 450 MHz PIII, so I'll close this bug then.
comment:10 by , 21 years ago
Component: | → Engine: Sword2 |
---|---|
Game: | → Broken Sword 2 |
BS2 animations run at 12 frames per second, which doesn't take that much processing power even though the entire screen is re-rendered for each frame. However, when the screen is scrolling it starts pumping out frames as fast as it can to make the camera movement smoother. That's why CPU usage spikes like it does. (The original code used to draw these extra frames all the time, regardless of whether or not the screen was scrolling, so it was using up all the CPU all the time.)
I've been thinking of adding code to limit the frame rate during scrolling, but I never got around to it since I never heard of it causing any trouble. Until now, that is. Strange...