Closed Bug 1400271 Opened 7 years ago Closed 7 years ago

[OSX] Black flicker while scrolling with cmd+up/down arrow on www.theswishlife.com

Categories

(Core :: Panning and Zooming, defect, P3)

57 Branch
x86_64
macOS
defect

Tracking

()

RESOLVED DUPLICATE of bug 1256677
Tracking Status
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fix-optional

People

(Reporter: cbadau, Unassigned)

References

()

Details

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

[Affected versions]:
- Firefox 56 Beta 12 (with "apz.keyboard.enabled" pref set to true)
- latest Nightly 57.0a1 (2017-09-14)

[Affected platforms]:
- macOS 10.12

[Steps to reproduce]:
1. Launch Firefox.
2. Go to about:config and make sure the "apz.keyboard.enabled" pref is set to true. 
3. Go to www.theswishlife.com and press cmd+up/down arrow to navigate to the top or to the end of the page. 

[Expected result]:
- No jerkiness or rendering issues. 

[Actual result]:
- There is a black flicker while scrolling with cmd+up/down arrow (Home/End). Please see attached video "issueAPZ.mov"

[Regression range]:
- I will come back with the regression range as soon as possible. 

[Additional notes]:
- The issue is NOT reproducible on Windows and Ubuntu. It is a Mac specific issue.
I haven't verified this, but based on the video this just looks like checkerboarding.
I can reproduce this as video said in Comment 1 on FF57 nightly on my Mac. I also tried to disable apz.keyboard.enabled and this issue disappear.

Hi Ryan,
It seems you had ever modify this part of code. Could you please have a look to see what is going on? Or you should know who is better to look into. Thanks.
Flags: needinfo?(rhunt)
Run mozregression to find the regression range:
Last good revision: f15bf893f71fb75f4c8c4b3a17994c5531408368
First bad revision: 24dc2160940436a8d5bfcf2a591c7936df0f00ee
Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f15bf893f71fb75f4c8c4b3a17994c5531408368&tochange=24dc2160940436a8d5bfcf2a591c7936df0f00ee

It seems that bug 1379280 or bug 1381736 regressed this.

Modified apz.keyboard.enabled to True to reproduce the issue in those builds, before Cmd + Up/Down arrows won't scroll Home - End the website.
Keywords: regression
(In reply to Petruta Rasa [QA] [:petruta] from comment #4)
> Run mozregression to find the regression range:
> Last good revision: f15bf893f71fb75f4c8c4b3a17994c5531408368
> First bad revision: 24dc2160940436a8d5bfcf2a591c7936df0f00ee
> Pushlog:
> https://hg.mozilla.org/integration/mozilla-inbound/
> pushloghtml?fromchange=f15bf893f71fb75f4c8c4b3a17994c5531408368&tochange=24dc
> 2160940436a8d5bfcf2a591c7936df0f00ee
> 
> It seems that bug 1379280 or bug 1381736 regressed this.
> 
> Modified apz.keyboard.enabled to True to reproduce the issue in those
> builds, before Cmd + Up/Down arrows won't scroll Home - End the website.

Bug 1379280 fixed an issue where apz keyboard would scroll the wrong content, and bug 1381736 fixed a mac issue where we wouldn't recognize shortcuts that would trigger scrolling. Before these two bugs, apz keyboard wasn't really functional on mac.

I wasn't able to reproduce this on my iMac (late 2012, OSX 10.12) with the latest nightly (9-18-2017). I'd agree with Botond that this is checkerboarding caused by painting too slow and scrolling too fast. This is an issue with all apz input methods, but is easier to trigger with Home or End.

This site is particularly bad because the <body> has a dark background color while the content is on a <div> with a light background color, so when we checkerboard, the page flickers from light to dark briefly. I'm not sure of a general solution for this.
Flags: needinfo?(rhunt)
We should probably get a gecko profile of the home/end behaviour to see if there's anything obvious in the painting codepath that we can optimize here. If there's nothing then we should dupe it to bug 1256677.
Summary: [OSX] Black flicker while scrolling with cmd+up/down arrow → [OSX] Black flicker while scrolling with cmd+up/down arrow on www.theswishlife.com
I'm able to experience slight checkerboarding on my iMac (a strip of black will appear when hitting home and end quickly). 

Here's a profile I grabbed from going up and down twice:
https://perfht.ml/2wpEFJf

I don't see anything obvious, it might help to have a profile from a machine that struggles more.
(In reply to Ryan Hunt [:rhunt] from comment #7)
> I'm able to experience slight checkerboarding on my iMac (a strip of black
> will appear when hitting home and end quickly). 
> 
> Here's a profile I grabbed from going up and down twice:
> https://perfht.ml/2wpEFJf
> 
> I don't see anything obvious, it might help to have a profile from a machine
> that struggles more.

Hi Ryan,

[1] was my Gecko profile profiled on my Nightly on my mac machine. When I tried to press up and down for the page http://www.theswishlife.com, I saw the page scrolling only stayed on the top and bottom of this page. This symptom might just like you said painting too slow and scrolling too fast. If so, it belongs to an know issue.


[1]: https://perfht.ml/2jD9CDO
https://perfht.ml/2xd6wd7 profiler from the same machine as in comment 0, but with OS X 10.13. The issue reproduces here too.
Whiteboard: [gfx-noted]
Nothing obvious jumping out at me either in the profiles. We're spending a lot of time in ARGBSetRow_X86 on the content thread, which AFAIK is just filling pixels so there's not much we can do about that. It's possible that we can avoid some of this texture init cost by smarter layerization or something but given that the checkerboard is filled in relatively quickly I wouldn't call this a performance cliff or an unhandled edge case. Consequently, trying to optimize this scenario might end up de-optimizing other scenarios and is probably not worth the effort at this point. I'm going to dupe this over to the general checkerboarding bug.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.