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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 23495022: CC: Add a scheduled action for ManageTiles (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused. Created 7 years, 3 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
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 54e79baf8e28f3a7f630ed252155685b0ef72a78..f2c04f5b0cf580d0b55b389e601099e5b1fe3e4c 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -197,7 +197,7 @@ LayerTreeHostImpl::LayerTreeHostImpl(
did_lock_scrolling_layer_(false),
should_bubble_scrolls_(false),
wheel_scrolling_(false),
- manage_tiles_needed_(false),
+ tile_priorities_dirty_(false),
root_layer_scroll_offset_delegate_(NULL),
settings_(settings),
visible_(true),
@@ -279,7 +279,7 @@ void LayerTreeHostImpl::CommitComplete() {
pending_tree_->set_needs_update_draw_properties();
pending_tree_->UpdateDrawProperties();
// Start working on newly created tiles immediately if needed.
- if (!tile_manager_ || !manage_tiles_needed_)
+ if (!tile_manager_ || !tile_priorities_dirty_)
NotifyReadyToActivate();
else
ManageTiles();
@@ -357,12 +357,12 @@ void LayerTreeHostImpl::Animate(base::TimeTicks monotonic_time,
void LayerTreeHostImpl::ManageTiles() {
if (!tile_manager_)
return;
- if (!manage_tiles_needed_)
+ if (!tile_priorities_dirty_)
return;
if (!device_viewport_valid_for_tile_management_)
return;
- manage_tiles_needed_ = false;
+ tile_priorities_dirty_ = false;
tile_manager_->ManageTiles();
size_t memory_required_bytes;
@@ -1138,8 +1138,16 @@ void LayerTreeHostImpl::UpdateTileManagerMemoryPolicy(
policy.priority_cutoff_when_visible :
policy.priority_cutoff_when_not_visible);
new_state.num_resources_limit = policy.num_resources_limit;
+
tile_manager_->SetGlobalState(new_state);
- manage_tiles_needed_ = true;
+ DidModifyTilePriorities();
+}
+
+void LayerTreeHostImpl::DidModifyTilePriorities() {
+ DCHECK(settings_.impl_side_painting);
+ // Mark priorities as dirty and schedule a ManageTiles().
+ tile_priorities_dirty_ = true;
+ client_->SetNeedsManageTilesOnImplThread();
}
void LayerTreeHostImpl::DidInitializeVisibleTile() {
@@ -2551,7 +2559,7 @@ void LayerTreeHostImpl::SetTreePriority(TreePriority priority) {
new_state.tree_priority = priority;
tile_manager_->SetGlobalState(new_state);
- manage_tiles_needed_ = true;
+ DidModifyTilePriorities();
}
void LayerTreeHostImpl::ResetCurrentFrameTimeForNextFrame() {
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | cc/trees/layer_tree_host_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698