Closed Bug 1684817 Opened 3 years ago Closed 3 years ago

Laggy scrolling on duellinksmeta.com

Categories

(Core :: Graphics: WebRender, defect)

Firefox 86
Unspecified
All
defect

Tracking

()

RESOLVED FIXED
86 Branch
Webcompat Priority ?
Tracking Status
firefox-esr78 --- wontfix
firefox84 --- wontfix
firefox85 --- wontfix
firefox86 --- fixed

People

(Reporter: karlcow, Assigned: gw)

References

()

Details

(Keywords: regression, reproducible)

Attachments

(3 files, 1 obsolete file)

  1. With Firefox Android Pixel 2, Android 11 and latest Firefox Nightly
  2. Go to https://www.duellinksmeta.com/top-decks/
  3. Wait for the page to fully load
  4. Scroll

Expected:
Smooth scrolling

Actual:
Scrolling is underperforming. Sluggish.

This is working a bit better in Chrome.

PROFILE: https://share.firefox.dev/2X5VGDx

I can reproduce the issue on Nightly86.0a1 Windows10.
However, Scrolling will be smooth if WebRender is disabled.
FYI, layers.async-pan-zoom.enabled=false does not help.

Keywords: reproducible
OS: Android → All

(In reply to Alice0775 White from comment #2)

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=cf9faf4230752a08df1f500cd23e20e8e0171b0b&tochange=3b3c012e005eb0bc232640c5364849edeb2f535d

The range contains "Bug 1524284. Enable WebRender by default on modern Intel desktop gpus." Perhaps, prior to this patch, WebRender was blocked (disabled regardless of the pref gfx.webrender.all=true) on your hardware?

(In reply to Botond Ballo [:botond] from comment #3)

(In reply to Alice0775 White from comment #2)

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=cf9faf4230752a08df1f500cd23e20e8e0171b0b&tochange=3b3c012e005eb0bc232640c5364849edeb2f535d

The range contains "Bug 1524284. Enable WebRender by default on modern Intel desktop gpus." Perhaps, prior to this patch, WebRender was blocked (disabled regardless of the pref gfx.webrender.all=true) on your hardware?

WebRender is enabled AMD Radeon HD6450 if the pref is on.
about:support reported "Compositing WebRender" even if on the good build(cf9faf4230752a08df1f500cd23e20e8e0171b0b)

Component: Panning and Zooming → Graphics: WebRender
Attached file reduced html
Attachment #9195560 - Attachment is obsolete: true
Severity: -- → S3
Flags: needinfo?(gwatson)

In cases where clips are in the same coordinate space as the parent
picture surface (but different from the primitive), we can apply
a simple optimization to reduce the size of clip mask allocations.

In the linked test case, this drastically reduces the size of clip
masks that are drawn (each of the many clip masks drops from approx
1000 x 1000 pixels to approx 64 x 64 pixels).

Assignee: nobody → gwatson
Status: NEW → ASSIGNED

The size of the rectangles used to create the corner triangle are huge (not entirely sure why the content was authored that way).

This was resulting in very large clip masks being allocated, due to the transform on those primitives.

Attached a patch which optimizes the size of the clip masks to be much smaller, which fixes the noticeable performance issues.

Note that the content will still draw a bit slower than ideal, since the rotated corner edges are very large and will involve quite a bit of overdraw. But that's minor compared to the clip mask allocations and rendering that was occurring.

Flags: needinfo?(gwatson)
Pushed by gwatson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fcee7ece7540
Reduce size of clip masks in transformed primitives. r=nical
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
Blocks: 1685943
No longer blocks: gfx-triage
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: