Bug 211325 - [GTK][STABLE] Kinetic scrolling is broken when AC mode is forced
Summary: [GTK][STABLE] Kinetic scrolling is broken when AC mode is forced
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Local Build
Hardware: PC Linux
: P3 Normal
Assignee: Nobody
URL:
Keywords: Gtk
Depends on:
Blocks:
 
Reported: 2020-05-01 15:17 PDT by aakash.kapoor
Modified: 2020-10-07 06:55 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aakash.kapoor 2020-05-01 15:17:27 PDT
Tested using Epiphany 3.36.1 with WebKitGTK 2.28.2 and WebKitGTK 2.28.0 on Fedora 32. Using Nouveau graphics with default settings done by Fedora.

With WEBKIT_FORCE_COMPOSITING_MODE=1, the scrolling behaviour is fast but abrupt and does not have kinetic scroll.
With WEBKIT_DISABLE_COMPOSITING_MODE=1, the scrolling behaviour is slower but has kinetic scroll. 

On default behaviour without setting any of the above environmnent variables, scrolling is stuttery, lacks kinetic scroll and upon the use of Web Inspector, reveals high CPU usage with most of it being spent on Styles Invalidated and Styles Recalculated (an example website for this was macrumors.com). Websites where the above two things aren't happening (eg. phoronix.com) have smoother scrolling.
Comment 1 Alice Mikhaylenko 2020-05-01 15:20:05 PDT
In other words: "Kinetic scrolling doesn't work in AC mode"
Comment 2 Carlos Garcia Campos 2020-05-02 05:50:10 PDT
WEBKIT_FORCE_COMPOSITING_MODE=1 means async scrolling is used. Kinetic scrolling as not implemented for async scrolling in 2.28, but it landed in trunk (r259112) se we can probably backport it.
Comment 3 Michael Catanzaro 2020-05-31 07:05:01 PDT
(In reply to Carlos Garcia Campos from comment #2)
> WEBKIT_FORCE_COMPOSITING_MODE=1 means async scrolling is used. Kinetic
> scrolling as not implemented for async scrolling in 2.28, but it landed in
> trunk (r259112) se we can probably backport it.

Added to backports list. This was a serious regression, it should not have happened in stable. :/
Comment 4 Carlos Garcia Campos 2020-05-31 07:39:49 PDT
Well, it only affects people using the force AC mode, so I don't think it's so serious. I agree with backporting it, of course.
Comment 5 Carlos Garcia Campos 2020-05-31 07:40:58 PDT
(In reply to Alexander Mikhaylenko from comment #1)
> In other words: "Kinetic scrolling doesn't work in AC mode"

No, this is not true. It doesn't work when AC mode is forced. When ondemand is used, AC mode doesn't use async scrolling.
Comment 6 Michael Catanzaro 2020-05-31 09:31:00 PDT
Um... OK, that's an odd choice.

I thought https://gitlab.gnome.org/GNOME/epiphany/-/issues/1210 was a duplicate of this issue, but it must not be. We'll probably report a new bug then.
Comment 7 Michael Catanzaro 2020-06-01 08:15:25 PDT
(In reply to Michael Catanzaro from comment #6)
> I thought https://gitlab.gnome.org/GNOME/epiphany/-/issues/1210 was a
> duplicate of this issue, but it must not be. We'll probably report a new bug
> then.

This is not related to AC mode after all, sorry for the noise.
Comment 8 Alice Mikhaylenko 2020-10-07 03:01:25 PDT
Looks like it's been fixed in https://bugs.webkit.org/show_bug.cgi?id=210382?(other than the regressions, but probably better to track them there)