From 737afe9b8573cf7f8c58699ab936d78a5b939875 Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Wed, 7 Sep 2016 16:05:13 -0700 Subject: [PATCH] Skip rendering frames if the viewport metrics are unknown or empty (#3007) --- sky/shell/ui/engine.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/sky/shell/ui/engine.cc b/sky/shell/ui/engine.cc index a8d3579f6d..f61d3261b9 100644 --- a/sky/shell/ui/engine.cc +++ b/sky/shell/ui/engine.cc @@ -335,14 +335,16 @@ void Engine::ScheduleFrame() { void Engine::Render(std::unique_ptr layer_tree) { if (!layer_tree) return; - if (viewport_metrics_) { - layer_tree->set_scene_version(viewport_metrics_->scene_version); - layer_tree->set_frame_size(SkISize::Make( - viewport_metrics_->physical_width, viewport_metrics_->physical_height)); - } else { - layer_tree->set_scene_version(0); - layer_tree->set_frame_size(SkISize::Make(0, 0)); - } + if (!viewport_metrics_) + return; + + SkISize frame_size = SkISize::Make( + viewport_metrics_->physical_width, viewport_metrics_->physical_height); + if (frame_size.isEmpty()) + return; + + layer_tree->set_scene_version(viewport_metrics_->scene_version); + layer_tree->set_frame_size(frame_size); animator_->Render(std::move(layer_tree)); } -- GitLab