Closed Bug 1209617 Opened 9 years ago Closed 8 years ago

APZ causes jank when scrolling on https://stripe.com/relay

Categories

(Core :: Panning and Zooming, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox45 --- unaffected
firefox46 + wontfix
firefox47 + unaffected

People

(Reporter: u279076, Unassigned)

References

Details

(Keywords: perf, regression, Whiteboard: [gfx-noted])

Summary pretty much says it all: have APZ enabled and try to scroll on https://stripe.com/relay, it will get really janky. Tested on my Macbook Pro MacBook Pro (Retina, 13-inch, Late 2013) running Mac OS 10.11.1.
Do you see less/more/same amount of jank with APZ disabled?
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #1)
> Do you see less/more/same amount of jank with APZ disabled?

With APZ disabled the scrolling is perfectly acceptable (ie. little to no jank).
Thanks. I can repro the jank as well. Interestingly, I see less jank with APZ disabled but the same amount of jank in a non-e10s window which in theory should be same as having APZ disabled. Not sure what's going on there, but maybe some APZ behaviour is leaking into non-e10s windows.
Blocks: apz-desktop
There's a mix-blend-mode: soft-light on the arrows in the "Start selling within apps in minutes" section. (The arrows are ::after pseudo-elements, in case you have trouble finding them in the DOM...)
The blend mode causes the whole page to be composited into one PaintedLayer using BasicLayers, and the page is redrawn on every scroll. Not sure why this affects non-e10s windows.
I was able to reproduce this issue on Firefox 47.0a1 (2016-01-29) and Firefox 46.0a2 (2016-01-29) under Windows 10 64-bit and Windows 7 64-bit.
Flags: qe-verify+
OS: Unspecified → All
Hardware: Unspecified → All
It should be better on OS X now, with bug 1235995 fixed. Once the other two dependencies of bug 1209278 (mix-blend support in D3D9 and D3D11) are fixed, it should be better on windows as well.
Depends on: 1209278
Regression from APZ, tracking for 46+.
Keywords: regression
Can you check to see if this is still bad on Nightly? All the compositors should have mix-blend support now. Thanks!
Flags: needinfo?(anthony.s.hughes)
Keywords: perf
Whiteboard: [gfx-noted]
The jank issue is gone now but I'm seeing a web-compat issue now. The background under "Let customers buy...." is too bright to read the text. As near as I can tell this is not APZ nor e10s related as it renders the same in Nightly with those turned off. In Chrome the text renders fine.

Upon inspection it appears this <p> tag is styled with "background: -webkit-linear-gradient(0deg, #dca2ef, #ffd2df);". Disabling this style works around the issue in Firefox.
Flags: needinfo?(anthony.s.hughes)
(In reply to Anthony Hughes, QA Mentor (:ashughes) from comment #9)
> The jank issue is gone now but I'm seeing a web-compat issue now. The
> background under "Let customers buy...." is too bright to read the text. As
> near as I can tell this is not APZ nor e10s related as it renders the same
> in Nightly with those turned off. In Chrome the text renders fine.
> 
> Upon inspection it appears this <p> tag is styled with "background:
> -webkit-linear-gradient(0deg, #dca2ef, #ffd2df);". Disabling this style
> works around the issue in Firefox.

Does it happen with acceleration disabled?
(In reply to David Anderson [:dvander] from comment #10)
> Does it happen with acceleration disabled?

The jank does not, the issue with linear-gradient does.
Okay, good. It's not a problem with mix-blend shaders then :)
It seems like -webkit-linear-gradient behaves differently from linear-gradient, and this page has a bunch of wacky css properties like -webkit-moz-linear-gradient and -webkit-o-linear-gradient. It could be that their CSS is just broken and we're picking up a webkit version because of webkit CSS prefix support, and we're not supposed to be picking up any? It's probably best to split this off into another bug, and close this one since the jank is gone.
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #13)
> It's probably best to split this off into another bug, and close this one since the jank is gone.

Done. Please see bug 1248051 for the CSS issue.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
Anthony would you mind checking this in aurora 46? Or, kats if you know the issue that fixed it is resolved in 46, no need, just let me know.
Flags: needinfo?(anthony.s.hughes)
The jank will probably still affect windows on 46, because the mix-blend mode in D3D9 and D3D11 landed in 47.
It does not reproduce for me in the current Dev Edition on Mac. Comment 17 is probably only relevant for Windows but I only ever tested this in Mac so I don't know.
Flags: needinfo?(anthony.s.hughes)
OK. I'll wontfix this for 46 in this bug.  
kats, I leave it to you whether you want to request uplift the work for mix-blend mode in D3D9  (bug 1243071) and D3D11 (bug 1238496)
You need to log in before you can comment on or make changes to this bug.