[webkit-changes] [WebKit/WebKit] e97b07: Lazily allocate the SharedVideoFrameWriter in Remo...

Simon Fraser noreply at github.com
Thu Jun 22 15:03:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: e97b0792a67c3bc32d69a2f6cc61d350f629402c
      https://github.com/WebKit/WebKit/commit/e97b0792a67c3bc32d69a2f6cc61d350f629402c
  Author: Simon Fraser <simon.fraser at apple.com>
  Date:   2023-06-22 (Thu, 22 Jun 2023)

  Changed paths:
    M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h

  Log Message:
  -----------
  Lazily allocate the SharedVideoFrameWriter in RemoteDisplayListRecorderProxy
https://bugs.webkit.org/show_bug.cgi?id=258379
rdar://111133625

Reviewed by Youenn Fablet.

Every RemoteImageBufferProxy has a RemoteDisplayListRecorderProxy, and every RemoteDisplayListRecorderProxy has
a SharedVideoFrameWriter, which owns an IPC::Semaphore. The creation and destruction time for this semaphore
was significant when creating/destroying ImageBuffers.

Since SharedVideoFrameWriter is only rarely used, in the case where video frames are drawing into a buffer,
we can lazily allocate it.

* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::recordPaintVideoFrame):
(WebKit::RemoteDisplayListRecorderProxy::disconnect):
(WebKit::RemoteDisplayListRecorderProxy::ensureSharedVideoFrameWriter):
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:

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




More information about the webkit-changes mailing list