Closed Bug 1452111 Opened 6 years ago Closed 6 years ago

Very slow rendering of TicketMaster website


(Core :: Web Painting, defect)

Not set



Performance Impact ?
Tracking Status
firefox61 --- fixed


(Reporter: mconley, Assigned: kats)





(1 file)


1) Open in a tab in some window
2) Switch tabs away from the TicketMaster page
3) Switch back


A reasonably quick tab switch without a tab switch spinner.


A pretty reliable tab switch spinner.

Here's a profile:
WebRender doesn't appear to help much - I enabled WebRender on my Windows box and got this profile:
There's a huge amount of time spent in layerbuilding/hit test info. I was able to reproduce this, can you Matt?
Component: Graphics → Layout: Web Painting
Flags: needinfo?(matt.woodrow)
There are... a lot of them.

Every seat circle has a separate nsDisplayCompositorHitTestInfo, with CompositorHitTestInfo::eDispatchToContent.

Basically all the time spent is resizing the band array (allocating, freeing and memmoving) as we add new items to the region.

Seems like one option could be to try figure this out at the frame tree level, and have the parent frame emit a single nsDisplayCompositorHitTestInfo for the parent and allow the child frames to use that one.

Otherwise we probably want to just simplify this region as we build it (we used to that for the nsDisplayLayerEventRegions version).
Flags: needinfo?(matt.woodrow) → needinfo?(bugmail)
Yeah. We're still doing it for mMaybeHitRegion at [1], we should do the same for mDispatchToContentHitRegion. Looking at the code history I don't see where we used to do it for the nsDisplayLayerEventRegions version, I only see the simplification for the maybe-hit regions.

Flags: needinfo?(bugmail)
Here's a patch that simplifies the mDispatchToContentHitRegion (totally untested):
Although I don't see a spinner on tab switch, interacting with the page is definitely slow (on an m-c build). With the build in comment 5 it seems much better. :mconley, can you confirm? You can use this to test the build:

./mach mozregression --repo try --launch e3c5d7a0a4d1
Flags: needinfo?(mconley)
/cc'ing Miko also just as a FYI. I don't think this is really a regression from switching to nsDisplayCompositorHitTestInfo although maybe it got worse with that?

Try push with tests is at
Assignee: nobody → bugmail
Yeah, that's way way better!
Flags: needinfo?(mconley)
Comment on attachment 8967780 [details]
Bug 1452111 - Simplify dispatch-to-content regions as well.
Attachment #8967780 - Flags: review?(matt.woodrow) → review+
Pushed by
Simplify dispatch-to-content regions as well. r=mattwoodrow
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Performance Impact: --- → ?
Whiteboard: [qf]
You need to log in before you can comment on or make changes to this bug.