WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
250653
Scrolling can stutter when the main thread is causing jank
https://bugs.webkit.org/show_bug.cgi?id=250653
Summary
Scrolling can stutter when the main thread is causing jank
Simon Fraser (smfr)
Reported
2023-01-15 12:26:51 PST
Even though we have off-main-thread scrolling, some kinds of main thread jank still cause scroll stutters. See
https://twitter.com/bramus/status/1614606416932741121
Attachments
Test
(4.64 KB, text/html)
2023-01-15 12:28 PST
,
Simon Fraser (smfr)
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2023-01-15 12:27:10 PST
<
rdar://problem/104280648
>
Simon Fraser (smfr)
Comment 2
2023-01-15 12:28:03 PST
Created
attachment 464509
[details]
Test
Simon Fraser (smfr)
Comment 3
2023-01-15 12:39:23 PST
We get into a state where ThreadedScrollingTree::m_state is Idle, but the main thread is blocked. Noting is triggering the m_delayedRenderingUpdateDetectionTimer in this case.
Simon Fraser (smfr)
Comment 4
2023-01-15 12:52:50 PST
The interesting thing about this test case is that the jank is pure JS; nothing is touching the DOM, so nothing triggers `ThreadedScrollingTree::didScheduleRenderingUpdate` which sets some state that allows the scrolling thread to take over scrolling.
Simon Fraser (smfr)
Comment 5
2023-01-15 12:56:20 PST
Specifically, m_renderingUpdateWasScheduled is false in ThreadedScrollingTree::displayDidRefreshOnScrollingThread() so we don't trigger the unresponsive main thread detection.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug