[webkit-changes] [WebKit/WebKit] 80da2a: [UI-side compositing] Scrolling is not as smooth a...

Simon Fraser noreply at github.com
Mon Apr 10 19:25:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 80da2ab73cf56a93bd3eaf5d118bcdf965ee9baa
      https://github.com/WebKit/WebKit/commit/80da2ab73cf56a93bd3eaf5d118bcdf965ee9baa
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-04-10 (Mon, 10 Apr 2023)

  Changed paths:
    M Source/WebCore/page/scrolling/ScrollingTree.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp

  Log Message:
  -----------
  [UI-side compositing] Scrolling is not as smooth as it should be on 120Hz displays
https://bugs.webkit.org/show_bug.cgi?id=255254
<rdar://107837416>

Reviewed by Tim Horton and Matt Woodrow.

On 120Hz displays, the scrolling thread would get displayDidRefresh() at 120Hz, but frameDuration()
was the default 1/60s, causing
RemoteLayerTreeEventDispatcher::waitForRenderingUpdateCompletionOrTimeout() to block for up to 8ms
(half the frame duration).

No-one called ScrollingTree::windowScreenDidChange(), so fix that by calling it from
RemoteLayerTreeEventDispatcher.

* Source/WebCore/page/scrolling/ScrollingTree.h:
* Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeEventDispatcher.cpp:
(WebKit::RemoteLayerTreeEventDispatcher::windowScreenDidChange):

Canonical link: https://commits.webkit.org/262801@main




More information about the webkit-changes mailing list