Closed Bug 1527026 Opened 5 years ago Closed 2 years ago

Add WebRender support for container item hit test information


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






(Reporter: mikokm, Unassigned)


(Blocks 2 open bugs)



(1 file)

Bug 1503046 added support for carrying hit test information with container items, and removed the need to create additional nsDisplayCompositorHitTestInfo items.

This feature is currently disabled with WebRender1, because WebRenderCommandBuilder does not know how to read the information.

After implementing "display items with type" iterator for WebRenderCommandBuilder, and moving stacking context hit test information from nsDisplayCompositorHitTestInfo items to container items, the results of display list mutate talos test look good1 with around 12% improvement.
These benchmarks do not include the cost of processing the hit test info, since that is not yet implemented, but I am not expecting that to change results by more than a percent or two.

WIP patch to change WebRenderCommandBuilder display list iterator

Priority: P1 → P4
Blocks: wr-67
No longer blocks: stage-wr-trains
Priority: P4 → P3
Priority: P3 → P2
Priority: P2 → P3
Depends on: 1534549
Blocks: wr-68
No longer blocks: wr-67
Assignee: mikokm → nobody

Miko, what's the plan for this bug?

Blocks: wr-70
No longer blocks: wr-68
Flags: needinfo?(mikokm)

I think it makes sense to fix the regressions of bug 1534549 first. That bug can be fixed by creating more hit test items (the parent hit test reuse logic is broken), hopefully after we reduce the cost of memory allocations for display items (bug 1539597 and bug 1554503).
After that, we can profile and estimate the performance improvement of creating fewer hit test items.

Flags: needinfo?(mikokm)
Blocks: 1566826
No longer blocks: wr-70

Obsolete after changes in bug 1534549.

Closed: 2 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.