Open Bug 1452873 Opened 6 years ago Updated 2 years ago

performance issue with javascript game emulation

Categories

(Core :: Graphics, defect, P3)

61 Branch
Unspecified
All
defect

Tracking

()

Tracking Status
firefox-esr52 --- unaffected
firefox59 --- wontfix
firefox60 --- fix-optional
firefox61 --- affected

People

(Reporter: jan.willem.p.s+mozilla, Unassigned)

Details

(Keywords: parity-chrome, perf, Whiteboard: [games])

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0
Build ID: 20180408220126

Steps to reproduce:

Play this game: http://www.ssega.com/play/golden-axe/730#
Use the 'javascript emulator' to reproduce.


Actual results:

Sound is very choppy, hardly playable.
Collected some performance data:
https://perfht.ml/2EzE0nN


Expected results:

Should play ok, works on Chrome.
Keywords: perf
I can reproduce the choppiness sound on Nightly61.0a1 x64 Windowx10. But not on Chrome Dev67.
Status: UNCONFIRMED → NEW
Component: Untriaged → General
Ever confirmed: true
Product: Firefox → Core
OS: Unspecified → All
Keywords: parity-chrome
STR
1. Open http://www.ssega.com/play/golden-axe/730
2. Click on [Javascript Emulator] button and wait to finish ad-movie
3. Click on [Start Game] button
4. Click on table() under a picture
  --- observe, sound is choppy
5. Wait to finish logo animation and game title animation
  --- observe, sound is very choppy
6. Press [Enter] three times to select the number of players etc... so that the game will start
  --- observe, sound is very choppy, The animation of the game is also slow and choppy
Whiteboard: [games]
Component: General → Web Audio
I checked as far back as Firefox 51 and there are the same symptoms. The emulation speed (even in the silent part) is noticeably slower than Chrome. I am not sure this is a web audio problem as much as a performance issue. An emulator that is failing to deliver samples in a timely manner would exhibit choppy audio. Alex, would you mind double checking me before we move this to another component?
Flags: needinfo?(achronop)
Paul, would you like to check this with your quality measurements patches? It has been reported in Windows and OSX and I am reproducing in Linux. It's a fun test.
Flags: needinfo?(achronop) → needinfo?(padenot)
Looks like we're too slow to feed audio on time. Let's send that over to graphics.
Flags: needinfo?(padenot)
Component: Web Audio → Graphics
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.