[Webkit-unassigned] [Bug 208464] New: Lazily generate CGPaths for some simple types of paths, such as arcs and lines

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 2 12:40:42 PST 2020


https://bugs.webkit.org/show_bug.cgi?id=208464

            Bug ID: 208464
           Summary: Lazily generate CGPaths for some simple types of
                    paths, such as arcs and lines
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebCore Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: wenson_hsieh at apple.com

The final entry in the "Make Paths Fast" trilogy.

When creating certain types of paths such as arcs and lines, we can inline information about the path (e.g. the endpoints of a line segment, or the location and start/end angles of an arc) within the WebCore::Path itself.

This achieves two things:

1. IPC encoding and decoding is faster, since we don’t have to ask CGPath for its individual elements and encode them all.
2. We’ll avoid creating CGPaths for WebCore::Paths created in the GPU Process until they’re actually needed for painting. This means that we won’t end up with 512 individual CGPaths sitting around after we finish decoding the display list’s drawing items.

Combined, this gives us a roughly 36% improvement on Canvas Arcs, 13% improvement on Canvas Paths and 22% improvement on Canvas Lines when the GPU Process is used for canvas rendering.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200302/2613199d/attachment.htm>


More information about the webkit-unassigned mailing list