Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit a662579

Browse files
author
Harry Terkelsen
authored
Clear frame references at the end of every CanvasKit frame (#16525)
1 parent c477c06 commit a662579

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/web_ui/lib/src/engine/compositor/rasterizer.dart

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ class Rasterizer {
3737
final SurfaceFrame frame = surface.acquireFrame(layerTree.frameSize);
3838
surface.viewEmbedder.frameSize = layerTree.frameSize;
3939
final SkCanvas canvas = frame.skiaCanvas;
40-
final Frame compositorFrame = context.acquireFrame(canvas, surface.viewEmbedder);
40+
final Frame compositorFrame =
41+
context.acquireFrame(canvas, surface.viewEmbedder);
4142

4243
compositorFrame.raster(layerTree, ignoreRasterCache: true);
4344
surface.addToScene();
@@ -57,5 +58,9 @@ class Rasterizer {
5758
final ui.VoidCallback callback = _postFrameCallbacks[i];
5859
callback();
5960
}
61+
for (int i = 0; i < _frameReferences.length; i++) {
62+
_frameReferences[i].value = null;
63+
}
64+
_frameReferences.clear();
6065
}
6166
}

0 commit comments

Comments
 (0)