RESOLVED FIXED 265365
[CoordinatedGraphics] Canvas 2D rendering context causes unnecessary tile invalidations
https://bugs.webkit.org/show_bug.cgi?id=265365
Summary [CoordinatedGraphics] Canvas 2D rendering context causes unnecessary tile inv...
Jani Hautakangas
Reported 2023-11-27 01:37:55 PST
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
Jani Hautakangas
Comment 1 2023-11-27 01:44:40 PST
In coordinated graphics tiles do dirty rect unification internally
Jani Hautakangas
Comment 2 2023-11-27 01:50:17 PST
EWS
Comment 3 2023-11-27 07:02:03 PST
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
Comment 4 2023-11-27 07:03:14 PST
Note You need to log in before you can comment on or make changes to this bug.