Opened 7 years ago

Closed 7 years ago

#9975 closed defect (fixed)

SCI: Phant1: Graphics and Cursor Freezing During Final Chase

Reported by: dafioram Owned by: csnover
Priority: high Component: Engine: SCI
Version: Keywords: sci32
Cc: Game: Phantasmagoria 1

Description

Tester OS: Win7-64
ScummVM: 1.10.0git-3986-gc3f8f1a
Game: Phant1 GOG CD/DOS 1.000.001UK English

During the final chase in the first area of the hidden room of the theater if you wait and get killed and use "Try again" all subsequent plays will be extremely laggy and everything will freeze for a few seconds. If you click in the right spot quickly then it doesn't happen.

My cpu usage is nominal during the freezing. The audio also plays fine.

I'm not sure if its a bug, but if you load my saved game with the chase save phant1 will delete it on start up, so you have to start before the chase.

Demo: https://streamable.com/mn2hs

Attachments (1)

save_game.zip (883 bytes ) - added by dafioram 7 years ago.
ch7 before end game

Download all attachments as: .zip

Change History (6)

by dafioram, 7 years ago

Attachment: save_game.zip added

ch7 before end game

comment:1 by dafioram, 7 years ago

The freezing is not reproducible in DOSBOX. Scummvm doesn't freeze as much if you are doing the video in half screen rather than Full screen (an option within the phant1 game).

comment:2 by csnover, 7 years ago

Owner: set to csnover

comment:3 by csnover, 7 years ago

What seems to be happening here is that the event queue is stalling for a few frames when the player tries to flush all the events prior to the start of a video (or in this case, when continuing the video after the player has yielded back to game scripts for an event trigger, like a mouse movement onto a hotspot). Making the SCI EventManager dump everything directly, instead of popping events one by one with getSciEvent in a loop, seems to eliminate this stall.

Visual updates on the cursor are still lagged a couple of frames too, though, which should not be happening. I am still looking at exactly why that is happening and what is necessary to fix it.

comment:4 by dafioram, 7 years ago

#9980 is the same bug as this one, but it doesn't appear to be as bad. It is slightly later in the chase segement.

comment:5 by csnover, 7 years ago

Resolution: fixed
Status: newclosed

Thanks for your report! Patches to address this issue have been added in 8d32353394ce4aa750e54becc3f2d2e375b3963d, 0beb259278dfd18757bf9484a6123edf4b44864e, and 3d92f05261fbbfbb491ed855ed06167ab94ad3d3, and will be available in nightly builds 1.10.0git-4067 and later.

Note: See TracTickets for help on using tickets.