Clean up stale cache entries in Skia's GrContext (#6859)

Fixes https://github.com/flutter/flutter/issues/24160
This commit is contained in:
Jason Simmons 2018-11-14 14:21:17 -08:00 committed by GitHub
parent 498bbd5ef9
commit 2c6be93fa9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,6 +16,10 @@
namespace shell {
// The rasterizer will tell Skia to purge cached resources that have not been
// used within this interval.
static constexpr std::chrono::milliseconds kSkiaCleanupExpiration(15000);
Rasterizer::Rasterizer(blink::TaskRunners task_runners)
: Rasterizer(std::move(task_runners),
std::make_unique<flow::CompositorContext>()) {}
@ -186,6 +190,9 @@ bool Rasterizer::DrawToSurface(flow::LayerTree& layer_tree) {
external_view_embedder->SubmitFrame(surface_->GetContext());
}
FireNextFrameCallbackIfPresent();
surface_->GetContext()->performDeferredCleanup(kSkiaCleanupExpiration);
return true;
}