Consider disabling APZ completely (or at least for scroll-linked effects) at least for scrolling by-1-screen, until it's not too broken

NEW
Unassigned

Status

()

P3
normal
2 years ago
a year ago

People

(Reporter: arni2033, Unassigned)

Tracking

53 Branch
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [gfx-noted])

(Reporter)

Description

2 years ago
>>>   My Info:   Win7_64, Nightly 49, 32bit, ID 20160526082509
Currently, APZ causes massive checkerboarding glitches and content twitching during scrolling. That's
a known fact. Some of that is mentioned in bug 1238503, and probably I'll add something in comment 1.

Somewhere in bug 1238503 or bug 1238504 Kartikaya Gupta responded to these observations smth like
"Yes, but it's almost not noticeable for scrolling by-3-lines, therefore we're not going to
disable APZ for scroll-linked effects".
Even though it should apparently be considered as official Mozilla opinion, the wrong logic was used:
the fact that it's not noticeable for scrolling by-3-lines only means that there's no need to
disable APZ for them. Yes, probably they benefit from APZ more then lose (with all that APZ bugs
and lags), but for scrolling by-1-screen APZ results in constant _noticeable_ twitching of content
and blinking (due to checkerboarding).

If you want to keep APZ bugs enabled for some (real) reason different from
"it's not noticeable for 3-lines scrolling", please say it explicitly.

There's already a solution in about:config, but it's not easily discoverable. And btw, only old users
are aware that FF used to work OK. My assumption is that all new users will think that this is the way
FF handles scrolling, so they rather install/use another browser then go to a forum asking for help.
(Reporter)

Updated

2 years ago
No longer blocks: 1277113
(Reporter)

Updated

2 years ago
Component: Untriaged → Panning and Zooming
Product: Firefox → Core
I gave this some thought. You have a valid point, that if APZ doesn't work well for scroll-by-page, and we can't make it work well for that scenario, then we should probably not use it in that case.

I still have doubts about how widespread this is. In other words - do all users that use scroll-by-page see the same problems that you do, or is it limited to a few users only? I think we have enough data in our telemetry system to answer this question - we have probes that measure checkerboarding and frame times, we just need to split the population into those who scroll-by-page and everybody else, and see if the scroll-by-page people have worse performance metrics. If they do, then that would be a good reason to turn off APZ for those scenarios (or look harder for a way to improve it).
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → All
Priority: -- → P3
Hardware: Unspecified → All
Whiteboard: [gfx-noted]
Version: Trunk → 53 Branch
(Reporter)

Comment 2

2 years ago
I constantly see checkerboarding on many sites, bug 1256677 is related (comment 0 doesn't mention it)
See Also: → bug 1256677
Possibly not useful comment: Is it worth considering using the 'no-checkerboarding' APZ policy again? That is, we clamp all async scrolling transforms in such a way that we don't expose checkerboarding. In the best case, rendering keeps up with the viewport and we have a perfect update - in a bad case, we end up dropping frames (at least, that would be the appearance to the user), similar to the situation when APZ is disabled. Given bug 1324591, maybe it makes sense to be consistent here?
You need to log in before you can comment on or make changes to this bug.