-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Speedometer 3: buildTransaction spends a lot of time destroying mach port objects. https://bugs.webkit.org/show_bug.cgi?id=270549 <rdar://123661156> Reviewed by Kimmo Kinnunen. Flusing a RemoteImageBufferSetProxy waits on both the `didPrepareForDisplay` message to be delivered to the WorkQueue, and the semaphore to be signaled when drawing command flushing is completed. This was previously required, since building of the transaction on the main thread was blocked on the didPrepareForDisplay message, so it was delivered as early as possible. The current state is that all waiting happens on a background thread, so there's no longer any benefit to having two separate notifications. This changes moves sending of the didPrepareForDisplay message to happen once drawing flushing is completed, and removes the seamphore signaling. This should be a small performance win in some cases, since we no longer need to allocate and destroy the semaphore objects. * Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp: (WebKit::RemoteImageBufferSet::RemoteImageBufferSet): (WebKit::RemoteImageBufferSet::endPrepareForDisplay): (WebKit::RemoteImageBufferSet::ensureBufferForDisplay): (WebKit::RemoteImageBufferSet::setFlushSignal): Deleted. (WebKit::RemoteImageBufferSet::flush): Deleted. * Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.h: * Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.messages.in: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::prepareImageBufferSetsForDisplay): (WebKit::RemoteRenderingBackend::prepareImageBufferSetsForDisplaySync): * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h: * Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in: * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp: (WebKit::RemoteImageBufferSetProxyFlushFence::create): (WebKit::RemoteImageBufferSetProxyFlushFence::waitFor): (WebKit::RemoteImageBufferSetProxyFlushFence::RemoteImageBufferSetProxyFlushFence): (WebKit::RemoteImageBufferSetProxy::flushFrontBufferAsync): (WebKit::RemoteImageBufferSetProxy::willPrepareForDisplay): (WebKit::RemoteImageBufferSetProxyFlushFence::~RemoteImageBufferSetProxyFlushFence): Deleted. (WebKit::RemoteImageBufferSetProxyFlushFence::tryTakeEvent): Deleted. (WebKit::RemoteImageBufferSetProxyFlushFence::setWaitingForSignal): Deleted. (): Deleted. (WebKit::RemoteImageBufferSetProxy::createFlushFence): Deleted. * Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.h: * Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::prepareImageBufferSetsForDisplay): Canonical link: https://commits.webkit.org/276421@main Identifier: 272448.798@safari-7618-branch
- Loading branch information
Dan Robson
committed
Mar 26, 2024
1 parent
d7ad67d
commit 21d9fc3
Showing
9 changed files
with
52 additions
and
113 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters