[webkit-changes] [WebKit/WebKit] d4f1d3: [UI-side compositing] Add logging for painting new...

Nikos Mouchtaris noreply at github.com
Tue Mar 28 20:57:05 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d4f1d3db3f612fc1283129792b44882a657f7fa5
      https://github.com/WebKit/WebKit/commit/d4f1d3db3f612fc1283129792b44882a657f7fa5
  Author: Nikolaos Mouchtaris <nmouchtaris at apple.com>
  Date:   2023-03-28 (Tue, 28 Mar 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/ca/TileController.cpp
    M Source/WebCore/platform/graphics/ca/TileController.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteLayerTreeDrawingAreaProxyMac.mm
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp

  Log Message:
  -----------
  [UI-side compositing] Add logging for painting new tile for ScrollPerf
https://bugs.webkit.org/show_bug.cgi?id=254050
rdar://106775893

Reviewed by Simon Fraser.

Use iOS's RemoteLayerTreeScrollingPerformanceData to calculate blank tiles
for new tile creation and scrolling. Log all of the accumulated log events
when the WebPageProxy is closed. Also, disable the logging on TileController
to prevent double logging new tile events in the web process by having
PlatformCALayerRemoteTiledBacking set a bool.

* Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::mainFrameScrollPosition const):
* Source/WebCore/platform/graphics/ca/TileController.cpp:
(WebCore::TileController::TileController):
(WebCore::TileController::logFilledVisibleFreshTile):
* Source/WebCore/platform/graphics/ca/TileController.h:
* Source/WebCore/platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreePropertyApplier.mm:
(WebKit::gatherPlatformLayerList):
(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
(WebKit::RemoteLayerTreeDrawingAreaProxy::lastViewportRect const):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::willCommitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::setViewportRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h:
(WebKit::RemoteLayerTreeNode::hadFirstPaint):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::reportFilledVisibleFreshTile):
(WebKit::RemoteScrollingCoordinatorProxy::setScrollingPerformanceTestingEnabled const):
(WebKit::RemoteScrollingCoordinatorProxy::scrollingPerformanceTestingEnabled const):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:

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




More information about the webkit-changes mailing list