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

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

Issue 1196553009: Revert "cc: Make tiling interest rect calc based on viewport." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert extra bools. Created 5 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
« no previous file with comments | « cc/tiles/picture_layer_tiling.h ('k') | cc/tiles/picture_layer_tiling_perftest.cc » ('j') | 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/tiles/picture_layer_tiling.h" 5 #include "cc/tiles/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 #include <set> 10 #include <set>
(...skipping 20 matching lines...) Expand all
31 const float kSoonBorderDistanceViewportPercentage = 0.15f; 31 const float kSoonBorderDistanceViewportPercentage = 0.15f;
32 const float kMaxSoonBorderDistanceInScreenPixels = 312.f; 32 const float kMaxSoonBorderDistanceInScreenPixels = 312.f;
33 33
34 } // namespace 34 } // namespace
35 35
36 scoped_ptr<PictureLayerTiling> PictureLayerTiling::Create( 36 scoped_ptr<PictureLayerTiling> PictureLayerTiling::Create(
37 WhichTree tree, 37 WhichTree tree,
38 float contents_scale, 38 float contents_scale,
39 scoped_refptr<RasterSource> raster_source, 39 scoped_refptr<RasterSource> raster_source,
40 PictureLayerTilingClient* client, 40 PictureLayerTilingClient* client,
41 float tiling_interest_area_viewport_multiplier, 41 size_t max_tiles_for_interest_area,
42 float skewport_target_time_in_seconds, 42 float skewport_target_time_in_seconds,
43 int skewport_extrapolation_limit_in_content_pixels) { 43 int skewport_extrapolation_limit_in_content_pixels) {
44 return make_scoped_ptr(new PictureLayerTiling( 44 return make_scoped_ptr(new PictureLayerTiling(
45 tree, contents_scale, raster_source, client, 45 tree, contents_scale, raster_source, client, max_tiles_for_interest_area,
46 tiling_interest_area_viewport_multiplier, skewport_target_time_in_seconds, 46 skewport_target_time_in_seconds,
47 skewport_extrapolation_limit_in_content_pixels)); 47 skewport_extrapolation_limit_in_content_pixels));
48 } 48 }
49 49
50 PictureLayerTiling::PictureLayerTiling( 50 PictureLayerTiling::PictureLayerTiling(
51 WhichTree tree, 51 WhichTree tree,
52 float contents_scale, 52 float contents_scale,
53 scoped_refptr<RasterSource> raster_source, 53 scoped_refptr<RasterSource> raster_source,
54 PictureLayerTilingClient* client, 54 PictureLayerTilingClient* client,
55 float tiling_interest_area_viewport_multiplier, 55 size_t max_tiles_for_interest_area,
56 float skewport_target_time_in_seconds, 56 float skewport_target_time_in_seconds,
57 int skewport_extrapolation_limit_in_content_pixels) 57 int skewport_extrapolation_limit_in_content_pixels)
58 : tiling_interest_area_viewport_multiplier_( 58 : max_tiles_for_interest_area_(max_tiles_for_interest_area),
59 tiling_interest_area_viewport_multiplier),
60 skewport_target_time_in_seconds_(skewport_target_time_in_seconds), 59 skewport_target_time_in_seconds_(skewport_target_time_in_seconds),
61 skewport_extrapolation_limit_in_content_pixels_( 60 skewport_extrapolation_limit_in_content_pixels_(
62 skewport_extrapolation_limit_in_content_pixels), 61 skewport_extrapolation_limit_in_content_pixels),
63 contents_scale_(contents_scale), 62 contents_scale_(contents_scale),
64 client_(client), 63 client_(client),
65 tree_(tree), 64 tree_(tree),
66 raster_source_(raster_source), 65 raster_source_(raster_source),
67 resolution_(NON_IDEAL_RESOLUTION), 66 resolution_(NON_IDEAL_RESOLUTION),
68 tiling_data_(gfx::Size(), gfx::Size(), kBorderTexels), 67 tiling_data_(gfx::Size(), gfx::Size(), kBorderTexels),
69 can_require_tiles_for_activation_(false), 68 can_require_tiles_for_activation_(false),
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 last_viewport_in_layer_space_ = viewport_in_layer_space; 618 last_viewport_in_layer_space_ = viewport_in_layer_space;
620 return false; 619 return false;
621 } 620 }
622 621
623 // Calculate the skewport. 622 // Calculate the skewport.
624 gfx::Rect skewport = ComputeSkewport(current_frame_time_in_seconds, 623 gfx::Rect skewport = ComputeSkewport(current_frame_time_in_seconds,
625 visible_rect_in_content_space); 624 visible_rect_in_content_space);
626 DCHECK(skewport.Contains(visible_rect_in_content_space)); 625 DCHECK(skewport.Contains(visible_rect_in_content_space));
627 626
628 // Calculate the eventually/live tiles rect. 627 // Calculate the eventually/live tiles rect.
629 int64 eventually_rect_area = tiling_interest_area_viewport_multiplier_ * 628 gfx::Size tile_size = tiling_data_.max_texture_size();
630 visible_rect_in_content_space.width() * 629 int64 eventually_rect_area =
631 visible_rect_in_content_space.height(); 630 max_tiles_for_interest_area_ * tile_size.width() * tile_size.height();
632 631
633 gfx::Rect eventually_rect = 632 gfx::Rect eventually_rect =
634 ExpandRectEquallyToAreaBoundedBy(visible_rect_in_content_space, 633 ExpandRectEquallyToAreaBoundedBy(visible_rect_in_content_space,
635 eventually_rect_area, 634 eventually_rect_area,
636 gfx::Rect(tiling_size()), 635 gfx::Rect(tiling_size()),
637 &expansion_cache_); 636 &expansion_cache_);
638 637
639 DCHECK(eventually_rect.IsEmpty() || 638 DCHECK(eventually_rect.IsEmpty() ||
640 gfx::Rect(tiling_size()).Contains(eventually_rect)) 639 gfx::Rect(tiling_size()).Contains(eventually_rect))
641 << "tiling_size: " << tiling_size().ToString() 640 << "tiling_size: " << tiling_size().ToString()
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 break; 1111 break;
1113 } 1112 }
1114 1113
1115 gfx::Rect result(origin_x, origin_y, width, height); 1114 gfx::Rect result(origin_x, origin_y, width, height);
1116 if (cache) 1115 if (cache)
1117 cache->previous_result = result; 1116 cache->previous_result = result;
1118 return result; 1117 return result;
1119 } 1118 }
1120 1119
1121 } // namespace cc 1120 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiles/picture_layer_tiling.h ('k') | cc/tiles/picture_layer_tiling_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698