[Webkit-unassigned] [Bug 255898] New: [GPU Process] Create a platform path only when it is needed

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 24 17:52:55 PDT 2023


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

            Bug ID: 255898
           Summary: [GPU Process] Create a platform path only when it is
                    needed
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sabouhallawa at apple.com
                CC: bfulgham at webkit.org, simon.fraser at apple.com,
                    zalan at apple.com

When GPUProcess is enabled, a platform path is created in the WebProcess mainly to store the path segments. A path segment is a command added to the Path. When the Path is encoded, the platform path is flattened back to path segments and they are sent to GPUProcess. Upon received the path segments, the GPUProcess creates another platform path to store the decoded path segment.

We should avoid creating the platform path in the WebProcess. For this purpose a new class called PathStream is created. It is a superclass of PathImpl which is the base class of the platform path (PathCG and PathCairo). Path now owns a unique_ptr<PathImpl> which can be converted from PathStream to PathCG and vice versa. Path delegates all the calls to PathImpl. PathStream will implement most of the functions the Path needs. But for drawing and complicated queries, the PathStream will be connoted to PathCG.

-- 
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/20230425/05fef1db/attachment.htm>


More information about the webkit-unassigned mailing list