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

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

Issue 1126793002: cc: Make tiling interest rect calc based on viewport. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use new settings for interest rect calc. Created 5 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "base/thread_task_runner_handle.h" 5 #include "base/thread_task_runner_handle.h"
6 #include "cc/resources/eviction_tile_priority_queue.h" 6 #include "cc/resources/eviction_tile_priority_queue.h"
7 #include "cc/resources/raster_tile_priority_queue.h" 7 #include "cc/resources/raster_tile_priority_queue.h"
8 #include "cc/resources/resource_pool.h" 8 #include "cc/resources/resource_pool.h"
9 #include "cc/resources/tile.h" 9 #include "cc/resources/tile.h"
10 #include "cc/resources/tile_priority.h" 10 #include "cc/resources/tile_priority.h"
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 } 768 }
769 } 769 }
770 770
771 last_tile = tile; 771 last_tile = tile;
772 ++tile_count; 772 ++tile_count;
773 smoothness_tiles.insert(tile); 773 smoothness_tiles.insert(tile);
774 queue->Pop(); 774 queue->Pop();
775 } 775 }
776 776
777 // Ensure that the distance is decreasing many more times than increasing. 777 // Ensure that the distance is decreasing many more times than increasing.
778 EXPECT_EQ(3, distance_increasing); 778 EXPECT_EQ(0, distance_increasing);
779 EXPECT_EQ(17, distance_decreasing); 779 EXPECT_EQ(8, distance_decreasing);
vmpstr 2015/05/06 17:57:29 I'd prefer if these numbers stayed the same, can y
sohanjg 2015/05/07 14:42:10 Hmm..we cant modify the LayerTreeSettings from thi
vmpstr 2015/05/07 17:21:38 host_impl that is constructed for this test takes
sohanjg 2015/05/08 13:26:09 Done. Works fine, thanks :)
780 EXPECT_EQ(tile_count, smoothness_tiles.size()); 780 EXPECT_EQ(tile_count, smoothness_tiles.size());
781 EXPECT_EQ(all_tiles, smoothness_tiles); 781 EXPECT_EQ(all_tiles, smoothness_tiles);
782 782
783 std::set<Tile*> new_content_tiles; 783 std::set<Tile*> new_content_tiles;
784 last_tile = NULL; 784 last_tile = NULL;
785 // Again, we expect to get increasing combined priority_bin. 785 // Again, we expect to get increasing combined priority_bin.
786 queue = host_impl_.BuildEvictionQueue(NEW_CONTENT_TAKES_PRIORITY); 786 queue = host_impl_.BuildEvictionQueue(NEW_CONTENT_TAKES_PRIORITY);
787 distance_decreasing = 0; 787 distance_decreasing = 0;
788 distance_increasing = 0; 788 distance_increasing = 0;
789 while (!queue->IsEmpty()) { 789 while (!queue->IsEmpty()) {
(...skipping 18 matching lines...) Expand all
808 ++distance_increasing; 808 ++distance_increasing;
809 } 809 }
810 } 810 }
811 811
812 last_tile = tile; 812 last_tile = tile;
813 new_content_tiles.insert(tile); 813 new_content_tiles.insert(tile);
814 queue->Pop(); 814 queue->Pop();
815 } 815 }
816 816
817 // Ensure that the distance is decreasing many more times than increasing. 817 // Ensure that the distance is decreasing many more times than increasing.
818 EXPECT_EQ(3, distance_increasing); 818 EXPECT_EQ(0, distance_increasing);
819 EXPECT_EQ(17, distance_decreasing); 819 EXPECT_EQ(8, distance_decreasing);
vmpstr 2015/05/06 17:57:29 Same here.
sohanjg 2015/05/07 14:42:10 Acknowledged.
sohanjg 2015/05/08 13:26:09 Done.
820 EXPECT_EQ(tile_count, new_content_tiles.size()); 820 EXPECT_EQ(tile_count, new_content_tiles.size());
821 EXPECT_EQ(all_tiles, new_content_tiles); 821 EXPECT_EQ(all_tiles, new_content_tiles);
822 } 822 }
823 823
824 TEST_F(TileManagerTilePriorityQueueTest, 824 TEST_F(TileManagerTilePriorityQueueTest,
825 EvictionTilePriorityQueueWithOcclusion) { 825 EvictionTilePriorityQueueWithOcclusion) {
826 base::TimeTicks time_ticks; 826 base::TimeTicks time_ticks;
827 time_ticks += base::TimeDelta::FromMilliseconds(1); 827 time_ticks += base::TimeDelta::FromMilliseconds(1);
828 host_impl_.SetCurrentBeginFrameArgs( 828 host_impl_.SetCurrentBeginFrameArgs(
829 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); 829 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 1169
1170 gfx::Rect viewport(50, 50, 500, 500); 1170 gfx::Rect viewport(50, 50, 500, 500);
1171 gfx::Size layer_bounds(1600, 1600); 1171 gfx::Size layer_bounds(1600, 1600);
1172 1172
1173 float inset = PictureLayerTiling::CalculateSoonBorderDistance(viewport, 1.0f); 1173 float inset = PictureLayerTiling::CalculateSoonBorderDistance(viewport, 1.0f);
1174 gfx::Rect soon_rect = viewport; 1174 gfx::Rect soon_rect = viewport;
1175 soon_rect.Inset(-inset, -inset); 1175 soon_rect.Inset(-inset, -inset);
1176 1176
1177 client.SetTileSize(gfx::Size(30, 30)); 1177 client.SetTileSize(gfx::Size(30, 30));
1178 LayerTreeSettings settings; 1178 LayerTreeSettings settings;
1179 settings.max_tiles_for_interest_area = 10000; 1179 settings.tiling_interest_area_viewport_multiplier = 36;
vmpstr 2015/05/06 17:57:29 These numbers seem pretty random, why 36? Before i
sohanjg 2015/05/07 14:42:10 Done. I tried to keep the interest rect same as b
1180 1180
1181 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( 1181 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create(
1182 ACTIVE_TREE, &client, settings.max_tiles_for_interest_area, 1182 ACTIVE_TREE, &client, settings.tiling_interest_area_viewport_multiplier,
1183 settings.skewport_target_time_in_seconds, 1183 settings.skewport_target_time_in_seconds,
1184 settings.skewport_extrapolation_limit_in_content_pixels); 1184 settings.skewport_extrapolation_limit_in_content_pixels);
1185 1185
1186 scoped_refptr<FakePicturePileImpl> pile = 1186 scoped_refptr<FakePicturePileImpl> pile =
1187 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); 1187 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds);
1188 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); 1188 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile);
1189 tiling->set_resolution(HIGH_RESOLUTION); 1189 tiling->set_resolution(HIGH_RESOLUTION);
1190 1190
1191 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); 1191 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true);
1192 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); 1192 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting();
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 TEST_F(TileManagerTilePriorityQueueTest, 1279 TEST_F(TileManagerTilePriorityQueueTest,
1280 RasterTilePriorityQueueMovingViewport) { 1280 RasterTilePriorityQueueMovingViewport) {
1281 FakePictureLayerTilingClient client; 1281 FakePictureLayerTilingClient client;
1282 1282
1283 gfx::Rect viewport(50, 0, 100, 100); 1283 gfx::Rect viewport(50, 0, 100, 100);
1284 gfx::Rect moved_viewport(50, 0, 100, 500); 1284 gfx::Rect moved_viewport(50, 0, 100, 500);
1285 gfx::Size layer_bounds(1000, 1000); 1285 gfx::Size layer_bounds(1000, 1000);
1286 1286
1287 client.SetTileSize(gfx::Size(30, 30)); 1287 client.SetTileSize(gfx::Size(30, 30));
1288 LayerTreeSettings settings; 1288 LayerTreeSettings settings;
1289 settings.max_tiles_for_interest_area = 10000; 1289 settings.tiling_interest_area_viewport_multiplier = 180;
1290 1290
1291 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( 1291 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create(
1292 ACTIVE_TREE, &client, settings.max_tiles_for_interest_area, 1292 ACTIVE_TREE, &client, settings.tiling_interest_area_viewport_multiplier,
1293 settings.skewport_target_time_in_seconds, 1293 settings.skewport_target_time_in_seconds,
1294 settings.skewport_extrapolation_limit_in_content_pixels); 1294 settings.skewport_extrapolation_limit_in_content_pixels);
1295 1295
1296 scoped_refptr<FakePicturePileImpl> pile = 1296 scoped_refptr<FakePicturePileImpl> pile =
1297 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); 1297 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds);
1298 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); 1298 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile);
1299 tiling->set_resolution(HIGH_RESOLUTION); 1299 tiling->set_resolution(HIGH_RESOLUTION);
1300 1300
1301 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); 1301 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true);
1302 tiling_set->UpdateTilePriorities(moved_viewport, 1.0f, 2.0, Occlusion(), 1302 tiling_set->UpdateTilePriorities(moved_viewport, 1.0f, 2.0, Occlusion(),
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 RGBA_8888); 1416 RGBA_8888);
1417 1417
1418 host_impl_.tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting(); 1418 host_impl_.tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting();
1419 EXPECT_FALSE(host_impl_.is_likely_to_require_a_draw()); 1419 EXPECT_FALSE(host_impl_.is_likely_to_require_a_draw());
1420 1420
1421 host_impl_.resource_pool()->ReleaseResource(resource.Pass()); 1421 host_impl_.resource_pool()->ReleaseResource(resource.Pass());
1422 } 1422 }
1423 1423
1424 } // namespace 1424 } // namespace
1425 } // namespace cc 1425 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698