Bug 67854
| Summary: | [chromium] Add a paint aggregator to TiledLayerChromium | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Adrienne Walker <enne> |
| Component: | WebCore Misc. | Assignee: | Adrienne Walker <enne> |
| Status: | RESOLVED WONTFIX | ||
| Severity: | Normal | CC: | amruthraj, enne, jamesr, shawnsingh, vangelis |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Adrienne Walker
TiledLayerChromium currently unions all invalidations together before painting the combined region. This is inefficient in certain cases (L-shaped invalidations) and it should support at least some small number of discrete invalidation regions. It should be smart about merging adjacent regions. This is similar to what paint_aggregator.cc does in Chromium.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Adrienne Walker
As a part of fixing this bug, consider tracking a set of update rects rather than a single update rect per layer so that --show-paint-rects is more accurate.
See: https://bugs.webkit.org/show_bug.cgi?id=69441
Vangelis Kokkevis
(In reply to comment #1)
> As a part of fixing this bug, consider tracking a set of update rects rather than a single update rect per layer so that --show-paint-rects is more accurate.
>
> See: https://bugs.webkit.org/show_bug.cgi?id=69441
I'm curious whether a good first approximation would be to register the dirty regions directly with the tiles, instead of doing a union. That way at least we wouldn't be unioning dirty regions across tile borders.