Closed Bug 1506033 Opened 10 months ago Closed 10 months ago

4.77 - 13.35% displaylist_mutate (linux64-qr, windows10-64-qr) regression on push c41ac37391713511296521e6dfecd54739a870f7 (Thu Nov 8 2018)


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

65 Branch



Tracking Status
firefox-esr60 --- unaffected
firefox63 --- unaffected
firefox64 --- unaffected
firefox65 --- verified


(Reporter: igoldan, Assigned: gw)


(Blocks 2 open bugs)


(Keywords: perf, regression, talos-regression)

Talos has detected a Firefox performance regression from push:

As author of one of the patches included in that push, we need your help to address this regression.


 13%  displaylist_mutate windows10-64-qr opt e10s stylo     4,920.73 -> 5,577.63
  5%  displaylist_mutate linux64-qr opt e10s stylo          5,082.01 -> 5,324.61

You can find links to graphs and comparison views for each of the above tests at:

On the page above you can see an alert for each affected platform as well as a link to a graph showing the history of scores for this test. There is also a link to a treeherder page showing the Talos jobs in a pushlog format.

To learn more about the regressing test(s), please see:

For information on reproducing and debugging the regression, either on try or locally, see:

*** Please let us know your plans within 3 business days, or the offending patch(es) will be backed out! ***

Our wiki page outlines the common responses and expectations:
Component: General → Graphics: WebRender
Product: Testing → Core
Flags: needinfo?(gwatson)
Will soon post the Gecko profiles.
This is from

The 13% regression on windows seems big, not sure if it was expected.
That's definitely unexpected from this patch. I'll investigate on Monday.
Flags: needinfo?(gwatson)
Assignee: nobody → gwatson
Priority: -- → P2
I profiled this and it's the same problem as the last regression - this test is very sensitive to the size of the PrimitiveInstance structure, because of the number that are created and how WR creates and iterates them.

I'm planning to land most of the picture caching work in the next 1-2 weeks. A side effect of this work is that the size of the PrimitiveInstance structure should be significantly reduced (hopefully by 50% or more), and we will iterate them more efficiently (only when they have been moved by their positioning node relative to rasterization root, rather than every instance every frame).

I'll take this bug, and plan to have significant performance improvements such that we can close it in a couple of weeks.
Depends on: 1507257
I think this can be closed, now that has brought the dl_mutate time down to ~4700?
Flags: needinfo?(igoldan)
(In reply to Glenn Watson [:gw] from comment #6)
> I think this can be closed, now that
> has brought the
> dl_mutate time down to ~4700?

Yes, I totally agree. Actually, the performance is even better than the results prior to the regression! Thanks a lot!
Flags: needinfo?(igoldan)
Closed: 10 months ago
Resolution: --- → FIXED
I believe bug 1509302 did the fix. I'll link it here.
Depends on: 1509302
Target Milestone: --- → mozilla65
You need to log in before you can comment on or make changes to this bug.