Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 12259027: cc: Simplify the logic for deciding to update tile priorities. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add early-out and unit test Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 037ff785fb5cb5af499c62105334d08d9badd4d0..24a83cb20d429bcac34b931df3ad32368278a5cd 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -261,11 +261,22 @@ void PictureLayerImpl::UpdateTilePriorities() {
if (!tilings_->num_tilings())
return;
- UpdateLCDTextStatus();
+ double current_frame_time_in_seconds =
+ (layer_tree_impl()->CurrentFrameTimeTicks() -
+ base::TimeTicks()).InSecondsF();
+
+ bool tiling_needs_update = false;
+ for (size_t i = 0; i < tilings_->num_tilings(); ++i) {
+ if (tilings_->tiling_at(i)->NeedsUpdateForFrameAtTime(
+ current_frame_time_in_seconds)) {
+ tiling_needs_update = true;
+ break;
+ }
+ }
+ if (!tiling_needs_update)
+ return;
- int current_source_frame_number = layer_tree_impl()->source_frame_number();
- double current_frame_time = (layer_tree_impl()->CurrentFrameTimeTicks() -
- base::TimeTicks()).InSecondsF();
+ UpdateLCDTextStatus();
gfx::Transform current_screen_space_transform = screen_space_transform();
@@ -294,8 +305,7 @@ void PictureLayerImpl::UpdateTilePriorities() {
contents_scale_x(),
last_screen_space_transform_,
current_screen_space_transform,
- current_source_frame_number,
- current_frame_time,
+ current_frame_time_in_seconds,
store_screen_space_quads_on_tiles,
max_tiles_for_interest_area);

Powered by Google App Engine
This is Rietveld 408576698