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

Side by Side Diff: cc/resources/tiling_set_eviction_queue.cc

Issue 800883002: cc: Optimise eviction tile priority queue (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <utility> 5 #include <utility>
6 6
7 #include "cc/resources/tiling_set_eviction_queue.h" 7 #include "cc/resources/tiling_set_eviction_queue.h"
8 8
9 namespace cc { 9 namespace cc {
10 10
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 current_tiling_range_type_ = 213 current_tiling_range_type_ =
214 PictureLayerTilingSet::BETWEEN_HIGH_AND_LOW_RES; 214 PictureLayerTilingSet::BETWEEN_HIGH_AND_LOW_RES;
215 return true; 215 return true;
216 case PictureLayerTilingSet::BETWEEN_HIGH_AND_LOW_RES: 216 case PictureLayerTilingSet::BETWEEN_HIGH_AND_LOW_RES:
217 current_tiling_range_type_ = PictureLayerTilingSet::LOW_RES; 217 current_tiling_range_type_ = PictureLayerTilingSet::LOW_RES;
218 return true; 218 return true;
219 case PictureLayerTilingSet::LOW_RES: 219 case PictureLayerTilingSet::LOW_RES:
220 current_tiling_range_type_ = PictureLayerTilingSet::HIGH_RES; 220 current_tiling_range_type_ = PictureLayerTilingSet::HIGH_RES;
221 return true; 221 return true;
222 case PictureLayerTilingSet::HIGH_RES: 222 case PictureLayerTilingSet::HIGH_RES:
223 // Process required for activation tiles (unless that has already been
224 // done for the current priority bin) if there is a tiling with required
225 // for activation tiles and that tiling may have required for activation
226 // tiles having the current priority bin (in the pending tree only NOW
227 // tiles may be required for activation).
223 if (!processing_tiling_with_required_for_activation_tiles_ && 228 if (!processing_tiling_with_required_for_activation_tiles_ &&
224 tiling_index_with_required_for_activation_tiles_ < 229 tiling_index_with_required_for_activation_tiles_ <
225 tiling_set_->num_tilings()) { 230 tiling_set_->num_tilings() &&
231 (current_priority_bin_ == TilePriority::NOW ||
232 tree_ == ACTIVE_TREE)) {
226 processing_tiling_with_required_for_activation_tiles_ = true; 233 processing_tiling_with_required_for_activation_tiles_ = true;
227 return true; 234 return true;
228 } 235 }
229 processing_tiling_with_required_for_activation_tiles_ = false; 236 processing_tiling_with_required_for_activation_tiles_ = false;
230 237
231 if (!AdvanceToNextPriorityBin()) 238 if (!AdvanceToNextPriorityBin())
232 return false; 239 return false;
233 240
234 current_tiling_range_type_ = PictureLayerTilingSet::HIGHER_THAN_HIGH_RES; 241 current_tiling_range_type_ = PictureLayerTilingSet::HIGHER_THAN_HIGH_RES;
235 return true; 242 return true;
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 tiling_set_->client()->GetPendingOrActiveTwinTiling(tiling); 399 tiling_set_->client()->GetPendingOrActiveTwinTiling(tiling);
393 if (pending_tiling && pending_tiling->resolution() == HIGH_RESOLUTION) 400 if (pending_tiling && pending_tiling->resolution() == HIGH_RESOLUTION)
394 return i; 401 return i;
395 } 402 }
396 } 403 }
397 404
398 return num_tilings; 405 return num_tilings;
399 } 406 }
400 407
401 } // namespace cc 408 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698