[webkit-changes] [WebKit/WebKit] dae026: maybePauseDisplayRefreshCallbacks doesn't wait for...

mattwoodrow noreply at github.com
Mon Sep 4 18:15:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dae026f290e6c19fcb068c7daee43f05d00568ef
      https://github.com/WebKit/WebKit/commit/dae026f290e6c19fcb068c7daee43f05d00568ef
  Author: Matt Woodrow <mattwoodrow at apple.com>
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm

  Log Message:
  -----------
  maybePauseDisplayRefreshCallbacks doesn't wait for MissedCommit.
https://bugs.webkit.org/show_bug.cgi?id=260996
<rdar://114606581>

Reviewed by Dan Glastonbury.

maybePauseDisplayRefreshCallbacks is pausing callbacks if nothing is in NeedsDisplayDidRefresh, but we
also want to keep callbacks enabled for CommitLayerTreePending so that we transition to MissedCommit state.

MissedCommit is required to trigger ASAP compositing when we're failing to reach the desired refresh rate, and
so we instead fall back to half refresh rate. This fixes a 6% regression in TodoMVC-React-Complex-DOM.

* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::maybePauseDisplayRefreshCallbacks):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):

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




More information about the webkit-changes mailing list