Closed Bug 1728246 Opened 3 years ago Closed 3 years ago

Remove ComputeVisibility

Categories

(Core :: Web Painting, task)

task

Tracking

()

RESOLVED FIXED
93 Branch
Tracking Status
firefox93 --- fixed

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

Details

Attachments

(4 files)

Some of the remaining ways that ComputeVisibility() can mutate display items are by setting the PaintRect to do occlusion culling and setting mIsOpaque on nsDisplayLists. We can probably do without both of these things for the situations where we actually call ComputeVisibility (for items that WR doesn't support, plus the fallback painting paths (screenshots, printing, popups etc). This suggests we can get rid of all the ComputeVisibility infrastructure.

Also, WebKit doesn't seem to have ComputeVisibility() occlusion culling in their main painting path which suggests that it's reasonable to get by without for our non-performance sensitive use cases.

Assignee: nobody → jmuizelaar
Depends on: 1715760

This lets us remove ComputeVisibility()

The only advantage we were getting from this was from GetOpaqueRegion, but
that no longer applies now that GetOpaqueRegion does the calculation directly.

This will cause to paint items that would've previously been occlusion culled,
but we shouldn't be using this code in any performance critical areas and
removing the occlusion culling infrastructure will let us make the fast path
faster.

Pushed by jmuizelaar@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bd896ca06ed2
Calculate opaqueness on demand instead of in ComputeVisibility. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/a670bdf70b2b
Avoid calling ComputeVisibility() during fallback. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/fb02869b4928
Drop call to ComputeVisibility in nsDisplayList::Paint. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/97dc8c1b36ee
Remove unused ComputeVisibility infrastructure. r=mattwoodrow
Regressions: 1730565
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: