Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 |
| OLD | NEW |