Closed Bug 1566901 Opened 1 year ago Closed 1 year ago

Picture caching doesn't work anymore on


(Core :: Graphics: WebRender, defect, P3)




Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- fixed
firefox70 --- fixed


(Reporter: jrmuizel, Assigned: gw)


(Regression, )


(Keywords: perf, regression)


(1 file)


I believe this used to work.

Summary: Picture caching doesn't work on → Picture caching doesn't work anymore on

It worked better around 2019-02-01

mozregression --good 848ce760ba38b646edf21040f6dbb1c1b7fd4ba2 --bad 69628e2c8fd19479d7ec64de4c9694c845497083 --pref gfx.webrender.all:true gfx.webrender.debug.picture-caching:true -a

431c5142ff3ad102328d90cb29470b20ccd1271e Glenn Watson — Bug 1558106 - Support picture caching for multiple scroll roots. r=kvark

Has Regression Range: --- → yes
Has STR: --- → yes
OS: Unspecified → All
Regressed by: 1558106
Hardware: Unspecified → Desktop
Assignee: nobody → gwatson

It seems that during scrolling some of the primitive descriptors get assigned a different number of active / valid clips. There might be other reasons it is getting incorrectly invalidated, but I'll start with looking into that.

This patch fixes a couple of picture caching issues that could
cause more invalidations than required. Specifically:

  • Ensure the viewport rect is included in child surfaces, so
    that redundant clips are filtered out correctly.
  • Use epsilon comparisons where appropriate for tile descriptor
    comparisons, to avoid invalidations due to float inaccuracies.
Priority: -- → P3
Pushed by
Make picture caching more robust to float issues. r=kvark,nical
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70

Comment on attachment 9078965 [details]
Bug 1566901 - Make picture caching more robust to float issues.

Beta/Release Uplift Approval Request

  • User impact if declined: Some pages fail to hit the picture caching fast path, which can cause noticeable page rendering slowness on WebRender.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's a relatively simple / small patch. Only affects users enrolled in WebRender.
  • String changes made/needed:
Attachment #9078965 - Flags: approval-mozilla-beta?

Comment on attachment 9078965 [details]
Bug 1566901 - Make picture caching more robust to float issues.

Fixes some slowdowns with WebRender enabled. Approved for 69.0b8.

Attachment #9078965 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.