Bug 214943 - Bad rendering when scrolling iPhone SE page
Summary: Bad rendering when scrolling iPhone SE page
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebGL (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-07-29 15:33 PDT by Dean Jackson
Modified: 2020-07-30 16:39 PDT (History)
7 users (show)

See Also:


Attachments
screenshot1 (350.32 KB, image/png)
2020-07-29 16:32 PDT, Dean Jackson
no flags Details
screenshot2 (324.24 KB, image/png)
2020-07-29 16:32 PDT, Dean Jackson
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2020-07-29 15:33:03 PDT
Scrolling on https://www.apple.com/iphone-se/ iPhone SE images renders with black box around iPhone image, leaves traces of the image as you scroll, and if scrolled at a very slow speed small blac k squares can be found int he images as well. 

Steps To Reproduce:
1. Go to https://www.apple.com/iphone-se/ 
2. Start to scroll at a moderate speed and observe the iPhone SE images renders with black box around iPhone image and leaves traces of the image as you scroll.
Comment 1 Dean Jackson 2020-07-29 15:33:36 PDT
<rdar://problem/64179949>
Comment 2 Kenneth Russell 2020-07-29 16:00:35 PDT
What hardware does this reproduce on?

It doesn't seem to occur on a 15" 2017 MacBook Pro with dual Intel HD Graphics 630 and AMD Radeon Pro 560 GPUs. Tested with both the Intel (default) as well as the AMD GPUs as the active GPU, in MiniBrowser with WK1.
Comment 3 Kenneth Russell 2020-07-29 16:01:38 PDT
Also, "run-safari --debug" no longer works on this machine (running macOS 10.15.5):

$ ./Tools/Scripts/run-safari --debug
Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
  Referenced from: /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
  Expected in: /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
 in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
Comment 4 Kenneth Russell 2020-07-29 16:10:15 PDT
Can't reproduce in MiniBrowser with WK2 either. With WK2 the high-performance GPU is selected by default. Modifying Source/WebCore/platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm to always set:
  m_powerPreferenceUsedForCreation = GraphicsContextGLPowerPreference::Default;
still doesn't reproduce.
Comment 5 Simon Fraser (smfr) 2020-07-29 16:11:58 PDT
> $ ./Tools/Scripts/run-safari --debug
> Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to
> built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
> dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
>   Referenced from:
> /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
>   Expected in:
> /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
>  in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari

Bug 214947.
Comment 6 Dean Jackson 2020-07-29 16:30:17 PDT
I'm no longer seeing it on a Mac Pro. Trying other devices.

It took me a while to reproduce the first time.
Comment 7 Dean Jackson 2020-07-29 16:31:59 PDT
Attaching the original screenshots. It could well have been an image decoding issue, although I think this JS component made its own masking format for these animations.
Comment 8 Dean Jackson 2020-07-29 16:32:19 PDT
Created attachment 405525 [details]
screenshot1
Comment 9 Dean Jackson 2020-07-29 16:32:38 PDT
Created attachment 405526 [details]
screenshot2
Comment 10 Kate Cheney 2020-07-30 09:33:42 PDT
(In reply to Kenneth Russell from comment #3)
> Also, "run-safari --debug" no longer works on this machine (running macOS
> 10.15.5):
> 
> $ ./Tools/Scripts/run-safari --debug
> Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to
> built WebKit in /Users/kbr/src/WebKit/WebKitBuild/Debug.
> dyld: Symbol not found: _WKBundlePageCopyRenderLayerTree
>   Referenced from:
> /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari
>   Expected in:
> /Users/kbr/src/WebKit/WebKitBuild/Debug/WebKit.framework/Versions/A/WebKit
>  in /System/Library/PrivateFrameworks/Safari.framework/Versions/A/Safari

This was fixed in Bug 214947.
Comment 11 Kenneth Russell 2020-07-30 10:33:37 PDT
Thanks for the fix to the run-safari script!
Comment 12 Dean Jackson 2020-07-30 15:26:57 PDT
What hardware were you looking at Ken? Justin was unable to reproduce it on an iMac Pro.
Comment 13 Dean Jackson 2020-07-30 16:27:30 PDT
OK. No longer reproduces with trunk builds on any hardware I tried.
Comment 14 Kenneth Russell 2020-07-30 16:39:05 PDT
That's a relief!