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

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

Issue 413863003: cc: Make rect naming consistent in picture layer tiling. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: removed extra patch Created 6 years, 5 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
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | 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 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 463 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 DCHECK(eventually_rect.IsEmpty() || 474 DCHECK(eventually_rect.IsEmpty() ||
475 gfx::Rect(tiling_size()).Contains(eventually_rect)) 475 gfx::Rect(tiling_size()).Contains(eventually_rect))
476 << "tiling_size: " << tiling_size().ToString() 476 << "tiling_size: " << tiling_size().ToString()
477 << " eventually_rect: " << eventually_rect.ToString(); 477 << " eventually_rect: " << eventually_rect.ToString();
478 478
479 SetLiveTilesRect(eventually_rect); 479 SetLiveTilesRect(eventually_rect);
480 480
481 last_impl_frame_time_in_seconds_ = current_frame_time_in_seconds; 481 last_impl_frame_time_in_seconds_ = current_frame_time_in_seconds;
482 last_visible_rect_in_content_space_ = visible_rect_in_content_space; 482 last_visible_rect_in_content_space_ = visible_rect_in_content_space;
483 483
484 current_visible_rect_in_content_space_ = visible_rect_in_content_space;
485 current_skewport_ = skewport;
486 current_eventually_rect_ = eventually_rect;
487 eviction_tiles_cache_valid_ = false; 484 eviction_tiles_cache_valid_ = false;
488 485
489 TilePriority now_priority(resolution_, TilePriority::NOW, 0); 486 TilePriority now_priority(resolution_, TilePriority::NOW, 0);
490 float content_to_screen_scale = 487 float content_to_screen_scale =
491 1.0f / (contents_scale_ * ideal_contents_scale); 488 1.0f / (contents_scale_ * ideal_contents_scale);
492 489
493 // Assign now priority to all visible tiles. 490 // Assign now priority to all visible tiles.
494 bool include_borders = true; 491 bool include_borders = true;
495 for (TilingData::Iterator iter( 492 for (TilingData::Iterator iter(
496 &tiling_data_, visible_rect_in_content_space, include_borders); 493 &tiling_data_, visible_rect_in_content_space, include_borders);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 550
554 float distance_to_visible = 551 float distance_to_visible =
555 visible_rect_in_content_space.ManhattanInternalDistance(tile_bounds) * 552 visible_rect_in_content_space.ManhattanInternalDistance(tile_bounds) *
556 content_to_screen_scale; 553 content_to_screen_scale;
557 TilePriority priority( 554 TilePriority priority(
558 resolution_, TilePriority::EVENTUALLY, distance_to_visible); 555 resolution_, TilePriority::EVENTUALLY, distance_to_visible);
559 tile->SetPriority(tree, priority); 556 tile->SetPriority(tree, priority);
560 } 557 }
561 558
562 // Upgrade the priority on border tiles to be SOON. 559 // Upgrade the priority on border tiles to be SOON.
563 current_soon_border_rect_ = visible_rect_in_content_space; 560 gfx::Rect soon_border_rect = visible_rect_in_content_space;
564 float border = kSoonBorderDistanceInScreenPixels / content_to_screen_scale; 561 float border = kSoonBorderDistanceInScreenPixels / content_to_screen_scale;
565 current_soon_border_rect_.Inset(-border, -border, -border, -border); 562 soon_border_rect.Inset(-border, -border, -border, -border);
566 for (TilingData::DifferenceIterator iter( 563 for (TilingData::DifferenceIterator iter(
567 &tiling_data_, current_soon_border_rect_, skewport); 564 &tiling_data_, soon_border_rect, skewport);
568 iter; 565 iter;
569 ++iter) { 566 ++iter) {
570 TileMap::iterator find = tiles_.find(iter.index()); 567 TileMap::iterator find = tiles_.find(iter.index());
571 if (find == tiles_.end()) 568 if (find == tiles_.end())
572 continue; 569 continue;
573 Tile* tile = find->second.get(); 570 Tile* tile = find->second.get();
574 571
575 TilePriority priority(resolution_, 572 TilePriority priority(resolution_,
576 TilePriority::SOON, 573 TilePriority::SOON,
577 tile->priority(tree).distance_to_visible); 574 tile->priority(tree).distance_to_visible);
578 tile->SetPriority(tree, priority); 575 tile->SetPriority(tree, priority);
579 } 576 }
577
578 // Update iteration rects.
579 current_visible_rect_ = visible_rect_in_content_space;
580 current_skewport_rect_ = skewport;
581 current_soon_border_rect_ = soon_border_rect;
582 current_eventually_rect_ = eventually_rect;
580 } 583 }
581 584
582 void PictureLayerTiling::SetLiveTilesRect( 585 void PictureLayerTiling::SetLiveTilesRect(
583 const gfx::Rect& new_live_tiles_rect) { 586 const gfx::Rect& new_live_tiles_rect) {
584 DCHECK(new_live_tiles_rect.IsEmpty() || 587 DCHECK(new_live_tiles_rect.IsEmpty() ||
585 gfx::Rect(tiling_size()).Contains(new_live_tiles_rect)) 588 gfx::Rect(tiling_size()).Contains(new_live_tiles_rect))
586 << "tiling_size: " << tiling_size().ToString() 589 << "tiling_size: " << tiling_size().ToString()
587 << " new_live_tiles_rect: " << new_live_tiles_rect.ToString(); 590 << " new_live_tiles_rect: " << new_live_tiles_rect.ToString();
588 if (live_tiles_rect_ == new_live_tiles_rect) 591 if (live_tiles_rect_ == new_live_tiles_rect)
589 return; 592 return;
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 } 834 }
832 835
833 PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator() 836 PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator()
834 : tiling_(NULL), current_tile_(NULL) {} 837 : tiling_(NULL), current_tile_(NULL) {}
835 838
836 PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator( 839 PictureLayerTiling::TilingRasterTileIterator::TilingRasterTileIterator(
837 PictureLayerTiling* tiling, 840 PictureLayerTiling* tiling,
838 WhichTree tree) 841 WhichTree tree)
839 : tiling_(tiling), 842 : tiling_(tiling),
840 type_(TilePriority::NOW), 843 type_(TilePriority::NOW),
841 visible_rect_in_content_space_( 844 visible_rect_in_content_space_(tiling_->current_visible_rect_),
842 tiling_->current_visible_rect_in_content_space_), 845 skewport_in_content_space_(tiling_->current_skewport_rect_),
843 skewport_in_content_space_(tiling_->current_skewport_),
844 eventually_rect_in_content_space_(tiling_->current_eventually_rect_), 846 eventually_rect_in_content_space_(tiling_->current_eventually_rect_),
845 soon_border_rect_in_content_space_(tiling_->current_soon_border_rect_), 847 soon_border_rect_in_content_space_(tiling_->current_soon_border_rect_),
846 tree_(tree), 848 tree_(tree),
847 current_tile_(NULL), 849 current_tile_(NULL),
848 visible_iterator_(&tiling->tiling_data_, 850 visible_iterator_(&tiling->tiling_data_,
849 visible_rect_in_content_space_, 851 visible_rect_in_content_space_,
850 true /* include_borders */), 852 true /* include_borders */),
851 spiral_iterator_(&tiling->tiling_data_, 853 spiral_iterator_(&tiling->tiling_data_,
852 skewport_in_content_space_, 854 skewport_in_content_space_,
853 visible_rect_in_content_space_, 855 visible_rect_in_content_space_,
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 DCHECK(*this); 981 DCHECK(*this);
980 do { 982 do {
981 ++tile_iterator_; 983 ++tile_iterator_;
982 } while (tile_iterator_ != tiling_->eviction_tiles_cache_.end() && 984 } while (tile_iterator_ != tiling_->eviction_tiles_cache_.end() &&
983 (!(*tile_iterator_)->HasResources())); 985 (!(*tile_iterator_)->HasResources()));
984 986
985 return *this; 987 return *this;
986 } 988 }
987 989
988 } // namespace cc 990 } // namespace cc
OLDNEW
« no previous file with comments | « cc/resources/picture_layer_tiling.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698