Closed Bug 1473376 Opened 6 years ago Closed 6 years ago

MotionMark Leaves benchmark spends a huge amount of time inside regions

Categories

(Core :: Web Painting, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: bas.schouten, Assigned: bas.schouten)

Details

Attachments

(1 file)

This is due to accumulating a precise hit testing region for many different small elements. This causes an immensely complex region to build up. Limiting the size of the region is probably a good idea.
Comment on attachment 8989826 [details]
Bug 1473376: Ensure hit test regions never grow excessively complex.

https://reviewboard.mozilla.org/r/254786/#review261692

If my reading of the code is correct, even with this patch we could end up with dispatch-to-content regions that have up to 26 rects. The d-t-c region gets simplified to a max of 8 rects in FinishPaintedLayerData, and then if each of the no-action, pan-x, and pan-y regions were super complex, they'd get simplified to 6 rects and added to the d-t-c region. So 8 + (3 * 6) = 26. And actually maybe some more coming from the maybe-hit region, when we create the EventRegions object.

It might be better to simplify the aImpreciseTargetDest region in this patch as well, after squashing the aPreciseTargetDest into it.
Attachment #8989826 - Flags: review?(bugmail) → review+
Pushed by bschouten@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/371c4e53d86d
Ensure hit test regions never grow excessively complex. r=kats
https://hg.mozilla.org/mozilla-central/rev/371c4e53d86d
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: