diff --git a/shell/common/rasterizer.cc b/shell/common/rasterizer.cc index fadfb8f9f17f8..0d644e15b4a61 100644 --- a/shell/common/rasterizer.cc +++ b/shell/common/rasterizer.cc @@ -43,7 +43,6 @@ Rasterizer::Rasterizer( : delegate_(delegate), task_runners_(std::move(task_runners)), compositor_context_(std::move(compositor_context)), - user_override_resource_cache_bytes_(false), weak_factory_(this) { FML_DCHECK(compositor_context_); } @@ -412,15 +411,7 @@ void Rasterizer::FireNextFrameCallbackIfPresent() { callback(); } -void Rasterizer::SetResourceCacheMaxBytes(size_t max_bytes, bool from_user) { - user_override_resource_cache_bytes_ |= from_user; - - if (!from_user && user_override_resource_cache_bytes_) { - // We should not update the setting here if a user has explicitly set a - // value for this over the flutter/skia channel. - return; - } - +void Rasterizer::SetResourceCacheMaxBytes(int max_bytes) { GrContext* context = surface_->GetContext(); if (context) { int max_resources; @@ -429,16 +420,6 @@ void Rasterizer::SetResourceCacheMaxBytes(size_t max_bytes, bool from_user) { } } -size_t Rasterizer::GetResourceCacheMaxBytes() const { - GrContext* context = surface_->GetContext(); - if (context) { - size_t max_bytes; - context->getResourceCacheLimits(nullptr, &max_bytes); - return max_bytes; - } - return 0; -} - Rasterizer::Screenshot::Screenshot() {} Rasterizer::Screenshot::Screenshot(sk_sp p_data, SkISize p_size) diff --git a/shell/common/rasterizer.h b/shell/common/rasterizer.h index 052fb6468553b..040e4ae67bdfd 100644 --- a/shell/common/rasterizer.h +++ b/shell/common/rasterizer.h @@ -92,13 +92,7 @@ class Rasterizer final : public SnapshotDelegate { return compositor_context_.get(); } - // Sets the max size in bytes of the Skia resource cache. If this call is - // originating from the user, e.g. over the flutter/skia system channel, - // set from_user to true and the value will take precedence over system - // generated values, e.g. from a display resolution change. - void SetResourceCacheMaxBytes(size_t max_bytes, bool from_user); - - size_t GetResourceCacheMaxBytes() const; + void SetResourceCacheMaxBytes(int max_bytes); private: Delegate& delegate_; @@ -107,7 +101,6 @@ class Rasterizer final : public SnapshotDelegate { std::unique_ptr compositor_context_; std::unique_ptr last_layer_tree_; fml::closure next_frame_callback_; - bool user_override_resource_cache_bytes_; fml::WeakPtrFactory weak_factory_; // |SnapshotDelegate| diff --git a/shell/common/shell.cc b/shell/common/shell.cc index a50ef70afb0ab..ba38f792e12d0 100644 --- a/shell/common/shell.cc +++ b/shell/common/shell.cc @@ -610,16 +610,6 @@ void Shell::OnPlatformViewSetViewportMetrics(const ViewportMetrics& metrics) { FML_DCHECK(is_setup_); FML_DCHECK(task_runners_.GetPlatformTaskRunner()->RunsTasksOnCurrentThread()); - // This is the formula Android uses. - // https://android.googlesource.com/platform/frameworks/base/+/master/libs/hwui/renderthread/CacheManager.cpp#41 - int max_bytes = metrics.physical_width * metrics.physical_height * 12 * 4; - task_runners_.GetGPUTaskRunner()->PostTask( - [rasterizer = rasterizer_->GetWeakPtr(), max_bytes] { - if (rasterizer) { - rasterizer->SetResourceCacheMaxBytes(max_bytes, false); - } - }); - task_runners_.GetUITaskRunner()->PostTask( [engine = engine_->GetWeakPtr(), metrics]() { if (engine) { @@ -873,8 +863,7 @@ void Shell::HandleEngineSkiaMessage(fml::RefPtr message) { [rasterizer = rasterizer_->GetWeakPtr(), max_bytes = args->value.GetInt()] { if (rasterizer) { - rasterizer->SetResourceCacheMaxBytes(static_cast(max_bytes), - true); + rasterizer->SetResourceCacheMaxBytes(max_bytes); } }); } diff --git a/shell/gpu/gpu_surface_gl.cc b/shell/gpu/gpu_surface_gl.cc index 6ddbcde23b3c3..d344e7225a595 100644 --- a/shell/gpu/gpu_surface_gl.cc +++ b/shell/gpu/gpu_surface_gl.cc @@ -28,10 +28,7 @@ static const int kGrCacheMaxCount = 8192; // Default maximum number of bytes of GPU memory of budgeted resources in the // cache. -// The shell will dynamically increase or decrease this cache based on the -// viewport size, unless a user has specifically requested a size on the Skia -// system channel. -static const size_t kGrCacheMaxByteSize = 24 * (1 << 20); +static const size_t kGrCacheMaxByteSize = 512 * (1 << 20); GPUSurfaceGL::GPUSurfaceGL(GPUSurfaceGLDelegate* delegate) : delegate_(delegate), weak_factory_(this) {