ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.69k stars 815 forks source link

Fallout Equestria: Remains: Game freezes for several seconds when changing rooms. #16025

Open joseespada1993 opened 7 months ago

joseespada1993 commented 7 months ago

Describe the bug

Browser: Chrome Ruffle version: 0.1.0 nightly 2024-04-18. OS: Ubuntu. Game: https://foe-remains.gitlab.io/remains.html Main game page: https://foe-remains.gitlab.io/main_en.html

Steps to reproduce: Go to Ruffle options, change execution duration to 9001. Go to https://foe-remains.gitlab.io/remains.html , wait for loading, click New game in menu, click OK for new game. Click screen once loaded. Wait for more loading. Once Your journey begins is shown, move the pony to the next room using WASD (yes, the pony can climb ladders).

Expected behaviour: Room changing takes approximately a second or less on a slow computer.

Actual behaviour: The game will freeze for several seconds when changing rooms on a fast computer. Sometimes even for 30+ seconds.

Ruffle log when changing rooms (for two room changes):

69.js:1679 performance warning: READ-usage buffer was read back without waiting on a fence. This caused a graphics pipeline stall.
imports.wbg.__wbg_getBufferSubData_7f31bd9ec3682832 @ 69.js:1679
69.js:1672 performance warning: READ-usage buffer was written, then fenced, but written again before being read back. This discarded the shadow copy that was created to accelerate readback.
imports.wbg.__wbg_fenceSync_f9c8da648fd4e444 @ 69.js:1672
69.js:1679 performance warning: READ-usage buffer was read back without waiting on a fence. This caused a graphics pipeline stall.
imports.wbg.__wbg_getBufferSubData_7f31bd9ec3682832 @ 69.js:1679
69.js:1672 performance warning: READ-usage buffer was written, then fenced, but written again before being read back. This discarded the shadow copy that was created to accelerate readback.
imports.wbg.__wbg_fenceSync_f9c8da648fd4e444 @ 69.js:1672
69.js:1679 performance warning: READ-usage buffer was read back without waiting on a fence. This caused a graphics pipeline stall.
imports.wbg.__wbg_getBufferSubData_7f31bd9ec3682832 @ 69.js:1679

Video showing the problem:

video.webm

Expected behavior

Room loading takes approximately a second or less on a slow computer.

Content Location

https://foe-remains.gitlab.io/remains.html

Affected platform

Browser's extension

Operating system

Ubuntu.

Browser

Chrome.

Additional information

Also happens on other operating systems and browsers.

joseespada1993 commented 7 months ago

Add label performance?