Open Bug 1700597 Opened 4 years ago Updated 8 months ago

Hovering or scrolling over past editions on https://www.miragefestival.com WebRender is laggy with Webrender software enabled

Categories

(Core :: Graphics: WebRender, defect)

Desktop
Unspecified
defect

Tracking

()

Tracking Status
firefox-esr78 --- disabled
firefox86 --- disabled
firefox87 --- disabled
firefox88 --- affected
firefox89 --- affected

People

(Reporter: tbabos, Unassigned)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

Attachments

(2 files)

Attached video Recording of the issue

89.0a1(2020-02-24)

[Affected platforms]:
Platforms: Windows 7/8/8.1

Graphics Cards:
Nvidia Geforce 730
Intel 530, 4600
AMD Radeon HD 6670

[Preconditions]:
Reach about:config and set both gfx.webrender.enabled, gfx.webrender.software - true

[Steps to reproduce]:

  1. Launch the Firefox browser.
  2. Reach https://www.miragefestival.com/
  3. Scroll down to the bottom of the page and hover over fast the oast editions or scroll

Expected Result:
The past animation should be smooth and the hover effect should be instant.

Actual Results:
Hovering fast over them is laggy, always behind 1 step.

Notes:
Not reproducible with Webrender Software disabled nor Webrender disabled.

Webrender Software profiler (repro): https://share.firefox.dev/3rf6U4X
Webrender simple profiler (not repro): https://share.firefox.dev/3sjQmdp

This bug is also reproducible on Ubuntu 18 , Intel(R) HD Graphics 630.

It looks like the profiles weren't done with the "Firefox Graphics" preset. Here's one that has that:
https://share.firefox.dev/3w5EKgG

It looks like a lot of time is being spent in brush_blend

Here's a profile with basic: https://share.firefox.dev/3cgMep6. Has lots of time in filters but doesn't seem like things have gone as bad.

Disabling the svg filter on ".single-archive" improves things quite a bit.
Here's the filter:

<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>

Disabling that filter enables a "filter: grayscale(1)" that runs considerably faster but still isn't amazing: https://share.firefox.dev/3ricrIa. I'd guess that the svg filter is so much slower because we're doing multiple passes (for sRGB -> linear conversion and then back)

It's probably reasonable to add the ability to do sRGB conversion in addition to a filter so that we can take the 3 passes and drop it down to 1

Depends on: 1700721
Depends on: 1700756
Depends on: 1700717
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: