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

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

Issue 271533011: cc: Move tiling management out of draw properties calculation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments addressed Created 6 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 "cc/resources/picture_layer_tiling.h" 5 #include "cc/resources/picture_layer_tiling.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <limits> 9 #include <limits>
10 10
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 // Assign now priority to all visible tiles. 475 // Assign now priority to all visible tiles.
476 bool include_borders = true; 476 bool include_borders = true;
477 for (TilingData::Iterator iter( 477 for (TilingData::Iterator iter(
478 &tiling_data_, visible_rect_in_content_space, include_borders); 478 &tiling_data_, visible_rect_in_content_space, include_borders);
479 iter; 479 iter;
480 ++iter) { 480 ++iter) {
481 TileMap::iterator find = tiles_.find(iter.index()); 481 TileMap::iterator find = tiles_.find(iter.index());
482 if (find == tiles_.end()) 482 if (find == tiles_.end())
483 continue; 483 continue;
484 Tile* tile = find->second.get(); 484 Tile* tile = find->second.get();
485
486 tile->SetPriority(tree, now_priority); 485 tile->SetPriority(tree, now_priority);
487 } 486 }
488 487
489 // Assign soon priority to skewport tiles. 488 // Assign soon priority to skewport tiles.
490 for (TilingData::DifferenceIterator iter( 489 for (TilingData::DifferenceIterator iter(
491 &tiling_data_, skewport, visible_rect_in_content_space); 490 &tiling_data_, skewport, visible_rect_in_content_space);
492 iter; 491 iter;
493 ++iter) { 492 ++iter) {
494 TileMap::iterator find = tiles_.find(iter.index()); 493 TileMap::iterator find = tiles_.find(iter.index());
495 if (find == tiles_.end()) 494 if (find == tiles_.end())
(...skipping 27 matching lines...) Expand all
523 float distance_to_visible = 522 float distance_to_visible =
524 visible_rect_in_content_space.ManhattanInternalDistance(tile_bounds) * 523 visible_rect_in_content_space.ManhattanInternalDistance(tile_bounds) *
525 content_to_screen_scale; 524 content_to_screen_scale;
526 TilePriority priority( 525 TilePriority priority(
527 resolution_, TilePriority::EVENTUALLY, distance_to_visible); 526 resolution_, TilePriority::EVENTUALLY, distance_to_visible);
528 tile->SetPriority(tree, priority); 527 tile->SetPriority(tree, priority);
529 } 528 }
530 529
531 // Upgrade the priority on border tiles to be SOON. 530 // Upgrade the priority on border tiles to be SOON.
532 current_soon_border_rect_ = visible_rect_in_content_space; 531 current_soon_border_rect_ = visible_rect_in_content_space;
532 float max_tiling_scale = 1.f;
533 for (size_t i = 0; i < this->num_tilings(); ++i) {
534 const PictureLayerTiling* tiling = this->tiling_at(i);
535 max_tiling_scale = std::max(max_tiling_scale, tiling->contents_scale());
536 }
533 float border = kSoonBorderDistanceInScreenPixels / content_to_screen_scale; 537 float border = kSoonBorderDistanceInScreenPixels / content_to_screen_scale;
534 current_soon_border_rect_.Inset(-border, -border, -border, -border); 538 current_soon_border_rect_.Inset(-border, -border, -border, -border);
535 for (TilingData::DifferenceIterator iter( 539 for (TilingData::DifferenceIterator iter(
536 &tiling_data_, current_soon_border_rect_, skewport); 540 &tiling_data_, current_soon_border_rect_, skewport);
537 iter; 541 iter;
538 ++iter) { 542 ++iter) {
539 TileMap::iterator find = tiles_.find(iter.index()); 543 TileMap::iterator find = tiles_.find(iter.index());
540 if (find == tiles_.end()) 544 if (find == tiles_.end())
541 continue; 545 continue;
542 Tile* tile = find->second.get(); 546 Tile* tile = find->second.get();
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 tiling_->UpdateEvictionCacheIfNeeded(tree_priority_); 963 tiling_->UpdateEvictionCacheIfNeeded(tree_priority_);
960 tile_iterator_ = tiling_->eviction_tiles_cache_.begin(); 964 tile_iterator_ = tiling_->eviction_tiles_cache_.begin();
961 is_valid_ = true; 965 is_valid_ = true;
962 if (tile_iterator_ != tiling_->eviction_tiles_cache_.end() && 966 if (tile_iterator_ != tiling_->eviction_tiles_cache_.end() &&
963 !(*tile_iterator_)->HasResources()) { 967 !(*tile_iterator_)->HasResources()) {
964 ++(*this); 968 ++(*this);
965 } 969 }
966 } 970 }
967 971
968 } // namespace cc 972 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698