Closed
Bug 1265553
Opened 9 years ago
Closed 8 years ago
Yahoo Music is slow/choppy when e10s is enabled
Categories
(Core :: Layout, defect, P3)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
e10s | + | --- |
platform-rel | --- | + |
firefox47 | --- | wontfix |
firefox48 | + | wontfix |
firefox49 | + | wontfix |
firefox50 | + | wontfix |
firefox51 | --- | fix-optional |
firefox52 | --- | fix-optional |
firefox53 | --- | fix-optional |
People
(Reporter: u554753, Unassigned)
References
Details
(Keywords: regression, Whiteboard: [platform-rel-Yahoo!])
Attachments
(2 files)
Yahoo Music is slow/choppy when e10s and hardware acceleration is enabled
[Pre-Requisites]
e10s is enabled
Hardware Acceleration can be either enabled or disabled
Steps to Reproduce:
1. Launch Firefox.
2. Navigate to https://www.yahoo.com/music/
3. Navigate to a link that plays music
Expected Results:
Audio and video play smoothly.
Actual Results:
Audio and video lags and is choppy.
The bug was encountered on the following hardware:
(1)
Windows 10 x32 w/FFx32
Acer Switch 10E
PROCESSOR: Z3735F@1.33GHz
RAM: 2GB
GRAPHICS: Intel HD Graphics Direct 3D11
BUILD ARCH: Version 10.0 - 10240
(2)
Windows 10 x64 w/FFx32
HP Notebook
PROCESSOR: AMD A6-5200 APU @2.00GHZ
RAM: 4GB / 3.45 USABLE
GRAPHICS: AMD Radeon HD 8400 / R3 Series Direct3D11
BUILD ARCH: Version 10.0 - 10240
(3)
Windows 10 x64 w/FFx32
Acer Aspire
PROCESSOR: N3050@1.60GHz
RAM: 2GB
GRAPHICS: Intel HD Graphics Direct3d11
BUILD ARCH: Version 10.0 - 10240
(4)
Windows 8 x64 w/FFx32
PROCESSOR: AMD A4-6210 APU @1.80ghZ
RAM: 4GB
GRAPHICS: AMD Radeon R3 Graphics Direct 3D11
BUILD ARCH: Version 6.3 - 9600
(5)
Windows 10 x64 w/FFx32
PROCESSOR: Intel Core i3-4005U @1.70GHz
RAM: 8GB
GRAPHICS: Intel HD Graphics Family Direct 3D11
BUILD ARCH: Version 10.0 (Build 10240)
Updated•9 years ago
|
Priority: -- → P1
Comment 3•9 years ago
|
||
Can you catch logs with |NSPR_LOG_MODULES=timestamp:1,MediaDecoder:4,AudioStream:3|? Thanks!
Flags: needinfo?(gwimberly)
Please let me know if these are the logs you need. Thanks.
Flags: needinfo?(gwimberly) → needinfo?(jwwang)
Comment 5•9 years ago
|
||
The logs said the duration is about 15s.
Some queustions:
1. Did the glitch happen all the time during playback or only at the end of playback?
2. It is suspicious that the decoder went into dormant state before reaching the end. Can you record a video to show how it is like when glitch happens?
Flags: needinfo?(jwwang) → needinfo?(gwimberly)
Comment 6•9 years ago
|
||
Btw, I can't repro it on my Windows 10 laptop. Can you give the specific link with choppy music? Is it 100% reproducible on a specific link?
Hi, here is a video recording requested per Comment 5. It seems that this behavior is unpredictable, but do keep in mind the specs provided above were for testing with low-end machines specifically. In this case, the advertisements played at the beginning were skipping and choppy whereas the movie played afterward was a bit better in quality.
https://gwimberly-softvision.tinytake.com/sf/NjI0MTg3XzMwNzE4ODI
Flags: needinfo?(gwimberly)
Comment 8•9 years ago
|
||
(In reply to Grover Wimberly IV from comment #7)
> Hi, here is a video recording requested per Comment 5. It seems that this
> behavior is unpredictable, but do keep in mind the specs provided above were
> for testing with low-end machines specifically. In this case, the
> advertisements played at the beginning were skipping and choppy whereas the
> movie played afterward was a bit better in quality.
>
> https://gwimberly-softvision.tinytake.com/sf/NjI0MTg3XzMwNzE4ODI
The cpu (@1.3GHz) should be still powerful enough to play the video. I wonder if it suffers the same issue as bug 1195767 comment 1195767.
Hi Jya,
Can you provide instructions to turn off hardware-acceleration decoding on Windows?
Hi Grover,
Can you provide the link which you played in the recording?
Flags: needinfo?(jyavenard)
Flags: needinfo?(gwimberly)
Comment 9•9 years ago
|
||
media.hardware-video-decoding.enabled=false
that is on recent version, prior it was another pref. Must restart after changing this pref.
Flags: needinfo?(jyavenard)
Comment 10•9 years ago
|
||
Hi Grover,
Can you turn off hard acceleration to see if that will make a difference?
Reporter | ||
Comment 11•9 years ago
|
||
Hi JW Wang,
I turned off hardware acceleration in the manner provided in Comment 6. Ads played at the beginning of the video were still choppy, but the actual music didn't seem to skip any.
The link I listened to was this: https://www.yahoo.com/music/song-premiere-hear-voice-champ-sawyer-151113244.html
Flags: needinfo?(gwimberly)
Reporter | ||
Comment 12•9 years ago
|
||
Sorry, meant Comment 9, not 6.
Comment 13•9 years ago
|
||
According to comment 11, it seems there isn't much we can do here.
The CPU just isn't powerful enough to give you smooth video playback. The best shot you can give is turn off hardware acceleration so at least you have a smooth audio playback.
Hi Jya,
Do you have other tips to improve playback?
However, I am still surprised by bug 1195767 comment 51 where GPU becomes a bottleneck of CPU.
Flags: needinfo?(jyavenard)
Comment 14•9 years ago
|
||
Out of curiosity, how does Firefox perform with e10s disabled on these sites?
Flags: needinfo?(gwimberly)
Reporter | ||
Comment 15•9 years ago
|
||
Hi Mike,
It works fine with e10s disabled. A detailed graph of e10s/Hardware compatibility for Yahoo music with these configurations I posted can be accessed here.
https://docs.google.com/a/mozilla.com/spreadsheets/d/1eH9O1PTrg6oKpHzd4B4520D6AfbQIxK54E5YVkQ8pug/edit?usp=sharing
Flags: needinfo?(gwimberly) → needinfo?(mconley)
Comment 16•9 years ago
|
||
If things work fine with e10s disabled, then it seems that the CPU is powerful enough to do the job - I think the bottleneck must be elsewhere.
Does the fact that non-e10s works without issue change things for you, jwwang?
Flags: needinfo?(mconley) → needinfo?(jwwang)
Keywords: regression
Can you try the latest Firefox 47 build (from http://beta.mozilla.org ) and see if this is still a problem?
Updated•9 years ago
|
platform-rel: --- → ?
Updated•9 years ago
|
Whiteboard: [platform-rel-Yahoo!]
Comment 19•9 years ago
|
||
(In reply to Mike Conley (:mconley) - (Away until June 29th) from comment #16)
> If things work fine with e10s disabled, then it seems that the CPU is
> powerful enough to do the job - I think the bottleneck must be elsewhere.
>
> Does the fact that non-e10s works without issue change things for you,
> jwwang?
I have no idea. I set up a VM to throttle CPU frequency. But I couldn't find a frequency at which non-e10s playback is smooth while e10s one is stutter. They both showed the same smoothness/stutterness at various CPU frequency.
Hi Grover,
Can you compare the CPU/memory usage charts between e10s and non-e10s playback? Or even get profiling data so we have better idea where CPU time is spent?
Flags: needinfo?(jwwang) → needinfo?(gwimberly)
Reporter | ||
Comment 20•9 years ago
|
||
Hi JW Wang,
We tested with e10s/non-e10s on a couple of low-end machines and here are some results:
Windows 10 on Acer Aspire:
PROCESSOR: N3050@1.60GHz
RAM: 2GB
GRAPHICS: Intel HD Graphics Direct3d11
BUILD ARCH: Version 10.0 - 10240
Notes: I observed almost same CPU usage in both e10s enabled and disabled(between 20 to 80 %)
AMD A4-6210 APU @1.80ghZ
RAM: 4GB
AMD Radeon R3 Graphics Direct 3D11
Version 6.3 - 9600
Notes: CPU usage almost identical going between 20 and 80%
Flags: needinfo?(gwimberly)
Reporter | ||
Comment 21•9 years ago
|
||
If you need further testing, please let me know.
(In reply to Grover Wimberly IV [:Grover-QA] from comment #21)
> If you need further testing, please let me know.
Can you paste in the graphics section of about:support for one of the machines so we can figure out whether we have accelerated layers and hardware decode.
Comment 23•9 years ago
|
||
Tracking for 48+ since this looks like a recent regression affecting e10s.
status-firefox49:
--- → affected
status-firefox50:
--- → affected
tracking-firefox48:
--- → +
tracking-firefox49:
--- → +
tracking-firefox50:
--- → +
Reporter | ||
Comment 24•9 years ago
|
||
(In reply to Anthony Jones (:kentuckyfriedtakahe, :k17e) from comment #22)
> (In reply to Grover Wimberly IV [:Grover-QA] from comment #21)
> > If you need further testing, please let me know.
>
> Can you paste in the graphics section of about:support for one of the
> machines so we can figure out whether we have accelerated layers and
> hardware decode.
Hi Anthony,
Here is the info from the Graphics of about:support for the Acer Aspire machine.
Compositing Direct3D 11
Asynchronous Pan/Zoom wheel input enabled; touch input enabled
WebGL Renderer Google Inc. -- ANGLE (Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0)
Hardware H264 Decoding Yes; D3D11 blacklisted with DLL igd10iumd32.dll (10.18.15.4248); Using D3D9 API
Direct2D true
DirectWrite true (10.0.10586.0)
GPU #1
Active Yes
Description Intel(R) HD Graphics
Vendor ID 0x8086
Device ID 0x22b1
Driver Version 10.18.15.4248
Driver Date 8-4-2015
Drivers igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32
Subsys ID 106d1025
RAM Unknown
![]() |
||
Comment 25•9 years ago
|
||
relman is tracking this for 48 and beyond so not adding this to an e10s mileston.
Anthony, is there someone on your team that can take a look? This is outside the areas of expertise of the current core e10s team.
Flags: needinfo?(ajones)
Grover,
This page seems to have a bunch of image animations going below if you scroll down then back up again. I'm not sure if that is part your STR but I saw some scrolling at the beginning of the video. We can figure out if image animation is involved by setting image.animation_mode=none in about:config and then reloading the page. You should be able to observe all the animations no longer happening.
Flags: needinfo?(ajones) → needinfo?(gwimberly)
Updated•9 years ago
|
Flags: needinfo?(ajones)
Reporter | ||
Comment 27•9 years ago
|
||
Hi Anthony,
With image.animation_mode=none, the movie is still choppy when scrolling up and down the page and particularly when the video is loading or showing miscellaneous advertisements. When the normal video plays, it is not choppy.
Flags: needinfo?(gwimberly)
Comment 28•9 years ago
|
||
Per comment 19, I have no idea how to progress this bug. Unassign myself so someone can pick it up.
Assignee: jwwang → nobody
Updated•9 years ago
|
status-firefox47:
--- → wontfix
Jim - I don't think this is a video related issue. My assessment is that it is fundamentally caused by e10s painting a larger area.
Flags: needinfo?(ajones) → needinfo?(jmathies)
![]() |
||
Comment 30•9 years ago
|
||
Over to milan then since this might be gfx related.
Flags: needinfo?(jmathies) → needinfo?(milan)
I'm tempted to agree with Anthony and just say "these computers can't keep up". Some things are interesting:
* Turning off hardware accelerated video decoding improves things (although on Acer Aspire, it shouldn't make a difference as we already block that functionality.)
* The image animation seems to be the biggest issue
* Turning E10S off helps things
* One about:support we have points to otherwise accelerated setup
Sotaro, can you think of something obvious that fits the bill before we go with the "too slow of a computer" theory?
Flags: needinfo?(milan) → needinfo?(sotaro.ikeda.g)
Comment 32•9 years ago
|
||
advertisements seems like a bit different problem. When I tested Yahoo Music, all advertisements are shown by using flash.
Comment 33•9 years ago
|
||
Somehow, part of page is continuously repainted forever. It happens even when video playback is paused. It could be checked with "nglayout.debug.paint_flashing:true".
Flags: needinfo?(sotaro.ikeda.g)
Comment 34•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #33)
> Somehow, part of page is continuously repainted forever. It happens even
> when video playback is paused. It could be checked with
> "nglayout.debug.paint_flashing:true".
This painting seems to increase cpu usage.
Comment 35•9 years ago
|
||
This is a call stack when the invalidation happens. Somehow VectorImage continues to invalidate a frame forever.
Comment 36•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #35)
> This is a call stack when the invalidation happens. Somehow VectorImage
> continues to invalidate a frame forever.
Actually, the VectorImage loaded the following.
https://s.yimg.com/os/yc/pt/icons/fuji-loader-v2-blue.0.svg
Comment 37•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #36)
> (In reply to Sotaro Ikeda [:sotaro] from comment #35)
> > This is a call stack when the invalidation happens. Somehow VectorImage
> > continues to invalidate a frame forever.
It seems like layout or svg related problem.
![]() |
||
Updated•9 years ago
|
Component: Audio/Video: Playback → Layout
Comment 38•9 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #37)
> (In reply to Sotaro Ikeda [:sotaro] from comment #36)
> > (In reply to Sotaro Ikeda [:sotaro] from comment #35)
> > > This is a call stack when the invalidation happens. Somehow VectorImage
> > > continues to invalidate a frame forever.
>
> It seems like layout or svg related problem.
Tested this link:
https://www.yahoo.com/music/chubby-checker-joins-hall-oates-onstage-to-do-193119321.html
I don't see the invalidation described here with paint-flashing enabled. Can you share the actual link you're testing with?
Flags: needinfo?(sotaro.ikeda.g)
Comment 39•9 years ago
|
||
Flags: needinfo?(sotaro.ikeda.g)
Comment 40•9 years ago
|
||
(In reply to Jet Villegas (:jet) from comment #38)
> (In reply to Sotaro Ikeda [:sotaro] from comment #37)
> > (In reply to Sotaro Ikeda [:sotaro] from comment #36)
> > > (In reply to Sotaro Ikeda [:sotaro] from comment #35)
> > > > This is a call stack when the invalidation happens. Somehow VectorImage
> > > > continues to invalidate a frame forever.
> >
> > It seems like layout or svg related problem.
>
> Tested this link:
> https://www.yahoo.com/music/chubby-checker-joins-hall-oates-onstage-to-do-
> 193119321.html
>
> I don't see the invalidation described here with paint-flashing enabled. Can
> you share the actual link you're testing with?
Hmm, it is wired, I saw the flash in the above link.
Comment 41•9 years ago
|
||
:jet, did you enabled flash plugin? When I checked flash plugin was "Always Active". When I set the flash plugin to "Never Active", I did not see advertisement and I did not saw the the continuing paint flashing.
Comment 42•9 years ago
|
||
When I disabled flash plugin, I did not see the continuous paint flashing, but VectorImage::RequestRefresh() is still called frequently.
Comment 43•9 years ago
|
||
I see the continuous invalidation. For me, it seems to be an interaction between a flash plugin and this pseudo-element:
.desktop body::after,.desktop body:after {
[...]
background:url(https://s.yimg.com/os/yc/pt/icons/fuji-loader-v2-blue.0.svg) center center no-repeat;
background:url(https://s.yimg.com/os/yc/pt/icons/throbber-93.gif) center center no-repeat\9;
background-size:52px 52px;
[...]
}
body::after {
opacity: 0;
content: ' ';
position: fixed;
[...]
}
So, we've got a 0-opacity pseudo-element, with an animated SVG and/or GIF background. We're ticking its internal counter (and triggering invalidations) using "requestRefresh", but we should not be doing that.
I'm guessing the flash plugin is interacting here by fooling us into thinking that this 0-opacity thing actually composites together with some flash that's underneath it, for some reason.
Comment 44•9 years ago
|
||
Note the "no-repeat\9" at the end of the second "background" decl -- that makes that declaration invalid/rejected, though our devtools don't recognize that. I'll file a bug separately on that. If I remove the "\9", then we successfully parse that line of CSS, and we use the animated GIF as the background image instead of the animated SVG, and you can see the frequency of the paint-flashing changes as a result. [It drops to the animation frequency of the GIF.]
So: don't be fooled by the apparent SVG/VectorImage thrashing here -- we have the same issue if we use the page's animated GIF, but we just thrash with a lower frequency.
The main issue here seems to be that we think that painting in the "opacity:0" fixed-position ::after element is important and worthy of receiving invalidations, and we probably incur some churn from recompositing that together with the flash plugin. I believe this is similar to (or the same as) bug 1231946.
Comment 45•9 years ago
|
||
(I filed bug 1287620 on making devtools reflect reality around the \9 CSS hack there.)
![]() |
||
Comment 46•9 years ago
|
||
should we prioritize investigating the invalidation problem here?
Flags: needinfo?(bugs)
Comment 47•9 years ago
|
||
(In reply to Jim Mathies [:jimm] from comment #46)
> should we prioritize investigating the invalidation problem here?
Yep, to Matt for a look.
Flags: needinfo?(bugs) → needinfo?(matt.woodrow)
Comment 48•9 years ago
|
||
I've attached patches to bugs 1237097 and 1237102 which fix the invalidation issues for me.
Flags: needinfo?(matt.woodrow)
Updated•9 years ago
|
Comment 49•9 years ago
|
||
Hi :Grover,
Can you help to verify if the issue still exists?
Flags: needinfo?(gwimberly)
Reporter | ||
Comment 50•9 years ago
|
||
Hello, I re-ran the tests on two lower-end machines. If you need more, I can provide more tests as necessary.
Tested with the following specs:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0
URLs Tested:
https://www.yahoo.com/music/exclusive-backstage-interview-dr-teeth-000000951.html
https://www.yahoo.com/music/weekend-3-12-16-part-095830865.html
Windows 10 x64 w/FFx32
HP Notebook
PROCESSOR: AMD A6-5200 APU @2.00GHZ
RAM: 4GB / 3.45 USABLE
GRAPHICS: AMD Radeon HD 8400 / R3 Series Direct3D11
BUILD ARCH: Version 10.0 - 10240
On a fresh profile: Advertisements continue to play slow and are choppy. After the advertisements are done, the selected video plays and sounds smoothly.
Windows 10 x64 w/FFx32
Acer Aspire
PROCESSOR: N3050@1.60GHz
RAM: 2GB
GRAPHICS: Intel HD Graphics Direct3d11
BUILD ARCH: Version 10.0 - 10240
On a fresh profile: Advertisements continue to play slow and are choppy. After the advertisements are done, the selected video plays and sounds smoothly.
Flags: needinfo?(gwimberly)
Comment 51•9 years ago
|
||
Hi Jim,
It seems that the advertisements continue to play slow and are choppy with these 2 fixes of bug 1237097 and 1237102. Can you help to find someone on this?
Flags: needinfo?(jmathies)
![]() |
||
Comment 52•9 years ago
|
||
I'm not sure what to do with this, we thought this had something to do with invalidation. We suspected a couple bugs would help, those are now fixed.
Remaining issues are that some advertisements play "choppy" on low end systems while video plays well. Not sure if we really care about choppy ads. Jet, any suggestions here?
status-firefox51:
--- → affected
Flags: needinfo?(jmathies) → needinfo?(bugs)
Comment 53•9 years ago
|
||
If music playback is good, I think that is enough at least for the 49 timeframe. It sounds like the major issue here is fixed but I'll leave aurora as "fix optional" in case we come up with a solution for the remaining choppiness.
Hi Jim, do we still consider this one a P1? I was reviewing all P1 bugs that are tagged as status-firefox50=fix-optional and noticed this one. Given that we have fixed majority of the choppiness problems, should we lower this to a P2?
Hi Matt, if the fixes from bugs 1237097 and 1237102 (both fixed in Fx51) have helped here, should we consider uplifting them to Fx50? Or are these too risky?
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(jmathies)
Comment 55•9 years ago
|
||
We can uplift them if you'd like, they were both fairly simple and low risk.
I didn't think they actually fixed the underlying bug here though, so there might not be much point.
Flags: needinfo?(matt.woodrow)
(In reply to Matt Woodrow (:mattwoodrow) from comment #55)
> We can uplift them if you'd like, they were both fairly simple and low risk.
>
> I didn't think they actually fixed the underlying bug here though, so there
> might not be much point.
Thanks Matt! Ok perhaps I misread some of the previous comments. Let's not uplift if it isn't helping anything.
![]() |
||
Comment 57•9 years ago
|
||
(In reply to Ritu Kothari (:ritu) from comment #54)
> Hi Jim, do we still consider this one a P1? I was reviewing all P1 bugs that
> are tagged as status-firefox50=fix-optional and noticed this one. Given that
> we have fixed majority of the choppiness problems, should we lower this to a
> P2?
>
> Hi Matt, if the fixes from bugs 1237097 and 1237102 (both fixed in Fx51)
> have helped here, should we consider uplifting them to Fx50? Or are these
> too risky?
No I would consider this a P1, and since the str hasn't really changed and we can still reproduce the choppy ad display, it should stay open. Downgrading to reflect this.
Flags: needinfo?(jmathies)
Flags: needinfo?(bugs)
Priority: P1 → P3
![]() |
||
Comment 58•9 years ago
|
||
s/would/wouldn't
Jet, do you want to keep tracking this? Do we have somebody that would look at it?
Comment 60•9 years ago
|
||
Grover: Thanks for testing on the low-end machines. I'd like to see if we've actually fixed the invalidation issues found using the steps noted in comment 34. That is, try FF50 and FF51 and see if we're actually painting less with the fixes in 51.
Flags: needinfo?(bugs) → needinfo?(gwimberly)
Reporter | ||
Comment 61•9 years ago
|
||
The video is painting much less in FF50 and 51.
Flags: needinfo?(gwimberly)
Based on Comment 61 - should this one be closed out, :jet?
Flags: needinfo?(bugs)
Comment 63•8 years ago
|
||
Marking this WORKSFORME based on comment 61.
Status: NEW → RESOLVED
Closed: 8 years ago
Flags: needinfo?(bugs)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•