Title: [280696] branches/safari-612.1.27.0-branch/Source/WebKit
- Revision
- 280696
- Author
- [email protected]
- Date
- 2021-08-05 09:27:00 -0700 (Thu, 05 Aug 2021)
Log Message
Cherry-pick r280652. rdar://problem/81568994
[GPUProcess] REGRESSION: A noticeable slow down when browsing Live Photos album on iCloud.com
https://bugs.webkit.org/show_bug.cgi?id=228673
<rdar://81353138>
Reviewed by Wenson Hsieh.
RemoteImageBufferProxy::flushDrawingContext() assumes a FlushContext item
is always appended to its DisplayList when it calls flushDrawingContextAsync()
and this is why it waits up to 3 seconds for the DidFlush message. But this
does not happen if the DisplayList of RemoteImageBufferProxy is empty.
In addition to checking whether the DisplayList is empty, we can check also
whether we do not have pending a FlushContext item before appending a new
one.
* WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-612.1.27.0-branch/Source/WebKit/ChangeLog (280695 => 280696)
--- branches/safari-612.1.27.0-branch/Source/WebKit/ChangeLog 2021-08-05 16:26:58 UTC (rev 280695)
+++ branches/safari-612.1.27.0-branch/Source/WebKit/ChangeLog 2021-08-05 16:27:00 UTC (rev 280696)
@@ -1,5 +1,48 @@
2021-08-05 Russell Epstein <[email protected]>
+ Cherry-pick r280652. rdar://problem/81568994
+
+ [GPUProcess] REGRESSION: A noticeable slow down when browsing Live Photos album on iCloud.com
+ https://bugs.webkit.org/show_bug.cgi?id=228673
+ <rdar://81353138>
+
+ Reviewed by Wenson Hsieh.
+
+ RemoteImageBufferProxy::flushDrawingContext() assumes a FlushContext item
+ is always appended to its DisplayList when it calls flushDrawingContextAsync()
+ and this is why it waits up to 3 seconds for the DidFlush message. But this
+ does not happen if the DisplayList of RemoteImageBufferProxy is empty.
+
+ In addition to checking whether the DisplayList is empty, we can check also
+ whether we do not have pending a FlushContext item before appending a new
+ one.
+
+ * WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-08-04 Said Abou-Hallawa <[email protected]>
+
+ [GPUProcess] REGRESSION: A noticeable slow down when browsing Live Photos album on iCloud.com
+ https://bugs.webkit.org/show_bug.cgi?id=228673
+ <rdar://81353138>
+
+ Reviewed by Wenson Hsieh.
+
+ RemoteImageBufferProxy::flushDrawingContext() assumes a FlushContext item
+ is always appended to its DisplayList when it calls flushDrawingContextAsync()
+ and this is why it waits up to 3 seconds for the DidFlush message. But this
+ does not happen if the DisplayList of RemoteImageBufferProxy is empty.
+
+ In addition to checking whether the DisplayList is empty, we can check also
+ whether we do not have pending a FlushContext item before appending a new
+ one.
+
+ * WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
+
+2021-08-05 Russell Epstein <[email protected]>
+
Cherry-pick r280639. rdar://problem/81568951
[GPU Process] REGRESSION: iCloud Photos Web app may crash WebProcess once the GPUProcess is relaunched
Modified: branches/safari-612.1.27.0-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h (280695 => 280696)
--- branches/safari-612.1.27.0-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2021-08-05 16:26:58 UTC (rev 280695)
+++ branches/safari-612.1.27.0-branch/Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h 2021-08-05 16:27:00 UTC (rev 280696)
@@ -260,7 +260,7 @@
if (UNLIKELY(!m_remoteRenderingBackendProxy))
return;
- if (!m_drawingContext.displayList().isEmpty()) {
+ if (!m_drawingContext.displayList().isEmpty() || !hasPendingFlush()) {
m_sentFlushIdentifier = WebCore::DisplayList::FlushIdentifier::generate();
m_drawingContext.recorder().flushContext(m_sentFlushIdentifier);
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes