Bug 265365
| Summary: | [CoordinatedGraphics] Canvas 2D rendering context causes unnecessary tile invalidations | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Jani Hautakangas <jani> |
| Component: | Canvas | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | dino, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Jani Hautakangas
CanvasRenderingContext2DBase tracks one dirty rect and does union of all incoming dirty rects within repaint cycle.
In coordinated graphics, canvas is tiled and this unification of rects causes unnecessary invalidation of tiles which
are not dirty. For example in case where canvas spans over multiple tiles and only small areas at top-left and
bottom-right corners of canvas are changed. This scenario causes whole canvas and all tiles to be marked dirty because
of unification of dirty areas although only top-left and bottom-right tiles are actually dirty.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Jani Hautakangas
In coordinated graphics tiles do dirty rect unification internally
Jani Hautakangas
Pull request: https://github.com/WebKit/WebKit/pull/20917
EWS
Committed 271139@main (b2410e35eca0): <https://commits.webkit.org/271139@main>
Reviewed commits have been landed. Closing PR #20917 and removing active labels.
Radar WebKit Bug Importer
<rdar://problem/118832308>