Bug 271698

Summary: [Skia][GLib] Misplaced tiles when scrolling drakenhh.com
Product: WebKit Reporter: Adrian Perez <aperez>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, simon.fraser, zalan
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
URL: https://drakenhh.com/
Bug Depends on:    
Bug Blocks: 268972    
Attachments:
Description Flags
Screenshot showing misplaced tiles none

Description Adrian Perez 2024-03-26 02:07:47 PDT
Created attachment 470603 [details]
Screenshot showing misplaced tiles

Steps to reproduce:

 1. Have a WebKitGTK build with USE_SKIA=ON (tested with 276677@main)
 2. run-minibrowser --gtk https://drakenhh.com
 3. Scroll around the page. Typically scrolling all the way to the bottom
    and then backing up will trigger the issue, which is most noticeable
    over big images.
 4. Hovering elements that cause repaints/recomposition (like buttons)
    will “fix” the misplaced tiles, but if one keeps scrolling the issue
    resurfaces.
Comment 1 Adrian Perez 2024-03-26 02:10:45 PDT
Talking with Carlos Garcia he mentioned that he's seen similar artifacts
in https://app.element.io (the flagship Matrix chat client) but harder to
reproduce.
Comment 2 Adrian Perez 2024-03-26 02:24:37 PDT
Checked to affect WPE as well, summary updated accordingly.
Comment 3 Adrian Perez 2024-03-26 02:32:31 PDT
(In reply to Adrian Perez from comment #2)
> Checked to affect WPE as well, summary updated accordingly.

Also: the issue is somehow more evident passing --use-wpe-platform-api
to run-minibrowser.
Comment 4 Adrian Perez 2024-03-26 02:54:00 PDT
(In reply to Adrian Perez from comment #3)
> (In reply to Adrian Perez from comment #2)
> > Checked to affect WPE as well, summary updated accordingly.
> 
> Also: the issue is somehow more evident passing --use-wpe-platform-api
> to run-minibrowser.

One more data point: setting WEBKIT_SKIA_ENABLE_CPU_RENDERING=1 seems
to sidestep the issue. This is true regardless of the number of threads
used for painting chosen by setting WEBKIT_SKIA_CPU_PAINTING_THREADS.
Comment 5 Adrian Perez 2024-09-26 14:37:26 PDT
This has been working fine for a while, both on main and the 2.46.0
release. I went as far as checking that this has been working already
at 282416@main, which was the branch point for 2.46 =]