Title: [167792] trunk/Source/WebKit2
- Revision
- 167792
- Author
- [email protected]
- Date
- 2014-04-24 23:28:33 -0700 (Thu, 24 Apr 2014)
Log Message
[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/16110687>
Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.
Reviewed by Tim Horton.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (167791 => 167792)
--- trunk/Source/WebKit2/ChangeLog 2014-04-25 06:02:42 UTC (rev 167791)
+++ trunk/Source/WebKit2/ChangeLog 2014-04-25 06:28:33 UTC (rev 167792)
@@ -1,3 +1,18 @@
+2014-04-24 Andreas Kling <[email protected]>
+
+ [iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
+ <https://webkit.org/b/132160>
+ <rdar://problem/16110687>
+
+ Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
+ to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
+ that we'd otherwise end up hanging on to for a long time.
+
+ Reviewed by Tim Horton.
+
+ * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
+ (WebKit::RemoteLayerTreeDrawingArea::didUpdate):
+
2014-04-24 Commit Queue <[email protected]>
Unreviewed, rolling out r167700.
Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm (167791 => 167792)
--- trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm 2014-04-25 06:02:42 UTC (rev 167791)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm 2014-04-25 06:28:33 UTC (rev 167792)
@@ -42,6 +42,7 @@
#import <WebCore/RenderView.h>
#import <WebCore/Settings.h>
#import <WebCore/TiledBacking.h>
+#import <QuartzCore/QuartzCore.h>
using namespace WebCore;
@@ -295,6 +296,10 @@
scheduleCompositingLayerFlush();
m_hadFlushDeferredWhileWaitingForBackingStoreSwap = false;
}
+
+ // This empty transaction serves to trigger CA's garbage collection of IOSurfaces. See <rdar://problem/16110687>
+ [CATransaction begin];
+ [CATransaction commit];
}
void RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged(const IntSize& contentsSize)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes