Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index 3f1c322051dc2afc18e8df8d822d0abe908a1cc8..4ee2226f0bcd542e5a77fb0c1647e7aa2a777a70 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -265,11 +265,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(); |
@@ -298,8 +309,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); |