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 12 matching lines...) Expand all Loading... |
23 #include "cc/test/test_task_graph_runner.h" | 23 #include "cc/test/test_task_graph_runner.h" |
24 #include "cc/test/test_tile_priorities.h" | 24 #include "cc/test/test_tile_priorities.h" |
25 #include "cc/trees/layer_tree_impl.h" | 25 #include "cc/trees/layer_tree_impl.h" |
26 #include "testing/gtest/include/gtest/gtest.h" | 26 #include "testing/gtest/include/gtest/gtest.h" |
27 | 27 |
28 namespace cc { | 28 namespace cc { |
29 namespace { | 29 namespace { |
30 | 30 |
31 class LowResTilingsSettings : public ImplSidePaintingSettings { | 31 class LowResTilingsSettings : public ImplSidePaintingSettings { |
32 public: | 32 public: |
33 LowResTilingsSettings() { create_low_res_tiling = true; } | 33 LowResTilingsSettings() { |
| 34 tiling_interest_area_viewport_multiplier = 10000; |
| 35 create_low_res_tiling = true; |
| 36 } |
34 }; | 37 }; |
35 | 38 |
36 class TileManagerTilePriorityQueueTest : public testing::Test { | 39 class TileManagerTilePriorityQueueTest : public testing::Test { |
37 public: | 40 public: |
38 TileManagerTilePriorityQueueTest() | 41 TileManagerTilePriorityQueueTest() |
39 : memory_limit_policy_(ALLOW_ANYTHING), | 42 : memory_limit_policy_(ALLOW_ANYTHING), |
40 max_tiles_(10000), | 43 max_tiles_(10000), |
41 ready_to_activate_(false), | 44 ready_to_activate_(false), |
42 id_(7), | 45 id_(7), |
43 proxy_(base::ThreadTaskRunnerHandle::Get()), | 46 proxy_(base::ThreadTaskRunnerHandle::Get()), |
(...skipping 1125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1169 | 1172 |
1170 gfx::Rect viewport(50, 50, 500, 500); | 1173 gfx::Rect viewport(50, 50, 500, 500); |
1171 gfx::Size layer_bounds(1600, 1600); | 1174 gfx::Size layer_bounds(1600, 1600); |
1172 | 1175 |
1173 float inset = PictureLayerTiling::CalculateSoonBorderDistance(viewport, 1.0f); | 1176 float inset = PictureLayerTiling::CalculateSoonBorderDistance(viewport, 1.0f); |
1174 gfx::Rect soon_rect = viewport; | 1177 gfx::Rect soon_rect = viewport; |
1175 soon_rect.Inset(-inset, -inset); | 1178 soon_rect.Inset(-inset, -inset); |
1176 | 1179 |
1177 client.SetTileSize(gfx::Size(30, 30)); | 1180 client.SetTileSize(gfx::Size(30, 30)); |
1178 LayerTreeSettings settings; | 1181 LayerTreeSettings settings; |
1179 settings.max_tiles_for_interest_area = 10000; | 1182 settings.tiling_interest_area_viewport_multiplier = 10000; |
1180 | 1183 |
1181 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( | 1184 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( |
1182 ACTIVE_TREE, &client, settings.max_tiles_for_interest_area, | 1185 ACTIVE_TREE, &client, settings.tiling_interest_area_viewport_multiplier, |
1183 settings.skewport_target_time_in_seconds, | 1186 settings.skewport_target_time_in_seconds, |
1184 settings.skewport_extrapolation_limit_in_content_pixels); | 1187 settings.skewport_extrapolation_limit_in_content_pixels); |
1185 | 1188 |
1186 scoped_refptr<FakePicturePileImpl> pile = | 1189 scoped_refptr<FakePicturePileImpl> pile = |
1187 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); | 1190 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); |
1188 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); | 1191 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); |
1189 tiling->set_resolution(HIGH_RESOLUTION); | 1192 tiling->set_resolution(HIGH_RESOLUTION); |
1190 | 1193 |
1191 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); | 1194 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); |
1192 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); | 1195 std::vector<Tile*> all_tiles = tiling->AllTilesForTesting(); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1279 TEST_F(TileManagerTilePriorityQueueTest, | 1282 TEST_F(TileManagerTilePriorityQueueTest, |
1280 RasterTilePriorityQueueMovingViewport) { | 1283 RasterTilePriorityQueueMovingViewport) { |
1281 FakePictureLayerTilingClient client; | 1284 FakePictureLayerTilingClient client; |
1282 | 1285 |
1283 gfx::Rect viewport(50, 0, 100, 100); | 1286 gfx::Rect viewport(50, 0, 100, 100); |
1284 gfx::Rect moved_viewport(50, 0, 100, 500); | 1287 gfx::Rect moved_viewport(50, 0, 100, 500); |
1285 gfx::Size layer_bounds(1000, 1000); | 1288 gfx::Size layer_bounds(1000, 1000); |
1286 | 1289 |
1287 client.SetTileSize(gfx::Size(30, 30)); | 1290 client.SetTileSize(gfx::Size(30, 30)); |
1288 LayerTreeSettings settings; | 1291 LayerTreeSettings settings; |
1289 settings.max_tiles_for_interest_area = 10000; | |
1290 | 1292 |
1291 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( | 1293 scoped_ptr<PictureLayerTilingSet> tiling_set = PictureLayerTilingSet::Create( |
1292 ACTIVE_TREE, &client, settings.max_tiles_for_interest_area, | 1294 ACTIVE_TREE, &client, settings.tiling_interest_area_viewport_multiplier, |
1293 settings.skewport_target_time_in_seconds, | 1295 settings.skewport_target_time_in_seconds, |
1294 settings.skewport_extrapolation_limit_in_content_pixels); | 1296 settings.skewport_extrapolation_limit_in_content_pixels); |
1295 | 1297 |
1296 scoped_refptr<FakePicturePileImpl> pile = | 1298 scoped_refptr<FakePicturePileImpl> pile = |
1297 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); | 1299 FakePicturePileImpl::CreateFilledPileWithDefaultTileSize(layer_bounds); |
1298 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); | 1300 PictureLayerTiling* tiling = tiling_set->AddTiling(1.0f, pile); |
1299 tiling->set_resolution(HIGH_RESOLUTION); | 1301 tiling->set_resolution(HIGH_RESOLUTION); |
1300 | 1302 |
1301 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); | 1303 tiling_set->UpdateTilePriorities(viewport, 1.0f, 1.0, Occlusion(), true); |
1302 tiling_set->UpdateTilePriorities(moved_viewport, 1.0f, 2.0, Occlusion(), | 1304 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); | 1418 RGBA_8888); |
1417 | 1419 |
1418 host_impl_.tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting(); | 1420 host_impl_.tile_manager()->CheckIfMoreTilesNeedToBePreparedForTesting(); |
1419 EXPECT_FALSE(host_impl_.is_likely_to_require_a_draw()); | 1421 EXPECT_FALSE(host_impl_.is_likely_to_require_a_draw()); |
1420 | 1422 |
1421 host_impl_.resource_pool()->ReleaseResource(resource.Pass()); | 1423 host_impl_.resource_pool()->ReleaseResource(resource.Pass()); |
1422 } | 1424 } |
1423 | 1425 |
1424 } // namespace | 1426 } // namespace |
1425 } // namespace cc | 1427 } // namespace cc |
OLD | NEW |