Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b739fc23ac7aa46d59d44bfc9ed0a4a81998ac4e
      
https://github.com/WebKit/WebKit/commit/b739fc23ac7aa46d59d44bfc9ed0a4a81998ac4e
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

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

  Log Message:
  -----------
  GPUP: Drawing spends time in converting weak RemoteImageBufferProxy to strong 
ref
https://bugs.webkit.org/show_bug.cgi?id=291318
rdar://148902028

Reviewed by Simon Fraser.

Frequent GraphicsContext draw commands on RemoteDisplayListRecorderProxy
would be slowed down by the recorder -> imagebuffer back pointer
traversal.

Fix by tracking the flush need in RemoteDisplayListRecorderProxy,
similar to how GraphicsContextCG tracks the flush need. This is the
better place. Only traverse the back pointer upon first draw after
flush.

* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::send):
* Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
(WebKit::RemoteDisplayListRecorderProxy::consumeHasDrawn):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteImageBufferProxy::backingStoreWillChange):
(WebKit::RemoteImageBufferProxy::disconnect):
(WebKit::RemoteImageBufferProxy::flushDrawingContext):
(WebKit::RemoteImageBufferProxy::flushDrawingContextAsync):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to