Bug 206489

Summary: [LFC][Multithreading] Introduce ConcurrentInlineLayoutContext
Product: WebKit Reporter: zalan <zalan>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: NEW ---    
Severity: Normal CC: bfulgham, emilio, koivisto, sam, simon.fraser, zalan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 215087    
Attachments:
Description Flags
Patch
none
Concurrent line ranges none

Description zalan 2020-01-19 21:36:52 PST
see bug 206158 and bug 205601
Comment 1 zalan 2020-01-19 21:53:34 PST
Created attachment 388200 [details]
Patch
Comment 2 zalan 2020-01-20 07:32:28 PST
Created attachment 388241 [details]
Concurrent line ranges
Comment 3 zalan 2020-01-20 07:53:22 PST
The idea here is that if we identify all the line breaks by pre-scanning the content (provided uniform line height etc), we could split the content into well defined line ranges and run concurrent line layout on them.
Comment 4 zalan 2020-01-20 08:04:30 PST
This is very different from bug 206158, where the layout is split at formatting context boundaries. The line line ranges here belong to the same inline formatting context so we always stay within an IFC. These are complementary concepts where we could layout multiple sibling IFCs in background threads in addition to splitting them into line ranges (using even more threads!:)
Comment 5 Sam Weinig 2020-01-20 11:59:12 PST
(In reply to zalan from comment #4)
> This is very different from bug 206158, where the layout is split at
> formatting context boundaries. The line line ranges here belong to the same
> inline formatting context so we always stay within an IFC. These are
> complementary concepts where we could layout multiple sibling IFCs in
> background threads in addition to splitting them into line ranges (using
> even more threads!:)

!