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 "cc/resources/eviction_tile_priority_queue.h" | 5 #include "cc/resources/eviction_tile_priority_queue.h" |
6 #include "cc/resources/raster_tile_priority_queue.h" | 6 #include "cc/resources/raster_tile_priority_queue.h" |
7 #include "cc/resources/tile.h" | 7 #include "cc/resources/tile.h" |
8 #include "cc/resources/tile_priority.h" | 8 #include "cc/resources/tile_priority.h" |
9 #include "cc/resources/tiling_set_raster_queue_all.h" | 9 #include "cc/resources/tiling_set_raster_queue_all.h" |
10 #include "cc/test/begin_frame_args_test.h" | 10 #include "cc/test/begin_frame_args_test.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 pending_layer->SetHasRenderSurface(true); | 120 pending_layer->SetHasRenderSurface(true); |
121 } | 121 } |
122 // The bounds() just mirror the pile size. | 122 // The bounds() just mirror the pile size. |
123 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); | 123 pending_layer->SetBounds(pending_layer->raster_source()->GetSize()); |
124 pending_tree->SetRootLayer(pending_layer.Pass()); | 124 pending_tree->SetRootLayer(pending_layer.Pass()); |
125 | 125 |
126 pending_layer_ = static_cast<FakePictureLayerImpl*>( | 126 pending_layer_ = static_cast<FakePictureLayerImpl*>( |
127 host_impl_.pending_tree()->LayerById(id_)); | 127 host_impl_.pending_tree()->LayerById(id_)); |
128 | 128 |
129 // Add tilings/tiles for the layer. | 129 // Add tilings/tiles for the layer. |
130 bool update_lcd_text = false; | 130 host_impl_.pending_tree()->UpdateDrawProperties(); |
131 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
132 } | 131 } |
133 | 132 |
134 TileManager* tile_manager() { return host_impl_.tile_manager(); } | 133 TileManager* tile_manager() { return host_impl_.tile_manager(); } |
135 | 134 |
136 protected: | 135 protected: |
137 GlobalStateThatImpactsTilePriority global_state_; | 136 GlobalStateThatImpactsTilePriority global_state_; |
138 | 137 |
139 TestSharedBitmapManager shared_bitmap_manager_; | 138 TestSharedBitmapManager shared_bitmap_manager_; |
140 TileMemoryLimitPolicy memory_limit_policy_; | 139 TileMemoryLimitPolicy memory_limit_policy_; |
141 int max_tiles_; | 140 int max_tiles_; |
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 id_ + 1, pending_pile); | 534 id_ + 1, pending_pile); |
536 FakePictureLayerImpl* pending_child_raw = pending_child.get(); | 535 FakePictureLayerImpl* pending_child_raw = pending_child.get(); |
537 pending_child_raw->SetDrawsContent(true); | 536 pending_child_raw->SetDrawsContent(true); |
538 pending_layer_->AddChild(pending_child.Pass()); | 537 pending_layer_->AddChild(pending_child.Pass()); |
539 | 538 |
540 // Set a small viewport, so we have soon and eventually tiles. | 539 // Set a small viewport, so we have soon and eventually tiles. |
541 host_impl_.SetViewportSize(gfx::Size(200, 200)); | 540 host_impl_.SetViewportSize(gfx::Size(200, 200)); |
542 time_ticks += base::TimeDelta::FromMilliseconds(1); | 541 time_ticks += base::TimeDelta::FromMilliseconds(1); |
543 host_impl_.SetCurrentBeginFrameArgs( | 542 host_impl_.SetCurrentBeginFrameArgs( |
544 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | 543 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); |
545 bool update_lcd_text = false; | 544 host_impl_.pending_tree()->UpdateDrawProperties(); |
546 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
547 | 545 |
548 host_impl_.SetRequiresHighResToDraw(); | 546 host_impl_.SetRequiresHighResToDraw(); |
549 scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue( | 547 scoped_ptr<RasterTilePriorityQueue> queue(host_impl_.BuildRasterQueue( |
550 SMOOTHNESS_TAKES_PRIORITY, RasterTilePriorityQueue::Type::ALL)); | 548 SMOOTHNESS_TAKES_PRIORITY, RasterTilePriorityQueue::Type::ALL)); |
551 EXPECT_FALSE(queue->IsEmpty()); | 549 EXPECT_FALSE(queue->IsEmpty()); |
552 | 550 |
553 // Get all the tiles that are NOW or SOON and make sure they are ready to | 551 // Get all the tiles that are NOW or SOON and make sure they are ready to |
554 // draw. | 552 // draw. |
555 std::vector<Tile*> all_tiles; | 553 std::vector<Tile*> all_tiles; |
556 while (!queue->IsEmpty()) { | 554 while (!queue->IsEmpty()) { |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 pending_pile); | 764 pending_pile); |
767 pending_layer_->AddChild(pending_child.Pass()); | 765 pending_layer_->AddChild(pending_child.Pass()); |
768 | 766 |
769 FakePictureLayerImpl* pending_child_layer = | 767 FakePictureLayerImpl* pending_child_layer = |
770 static_cast<FakePictureLayerImpl*>(pending_layer_->children()[0]); | 768 static_cast<FakePictureLayerImpl*>(pending_layer_->children()[0]); |
771 pending_child_layer->SetDrawsContent(true); | 769 pending_child_layer->SetDrawsContent(true); |
772 | 770 |
773 time_ticks += base::TimeDelta::FromMilliseconds(1); | 771 time_ticks += base::TimeDelta::FromMilliseconds(1); |
774 host_impl_.SetCurrentBeginFrameArgs( | 772 host_impl_.SetCurrentBeginFrameArgs( |
775 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | 773 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); |
776 bool update_lcd_text = false; | 774 host_impl_.pending_tree()->UpdateDrawProperties(); |
777 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
778 | 775 |
779 ActivateTree(); | 776 ActivateTree(); |
780 SetupPendingTree(pending_pile); | 777 SetupPendingTree(pending_pile); |
781 | 778 |
782 FakePictureLayerImpl* active_child_layer = | 779 FakePictureLayerImpl* active_child_layer = |
783 static_cast<FakePictureLayerImpl*>(active_layer_->children()[0]); | 780 static_cast<FakePictureLayerImpl*>(active_layer_->children()[0]); |
784 | 781 |
785 std::set<Tile*> all_tiles; | 782 std::set<Tile*> all_tiles; |
786 size_t tile_count = 0; | 783 size_t tile_count = 0; |
787 scoped_ptr<RasterTilePriorityQueue> raster_queue(host_impl_.BuildRasterQueue( | 784 scoped_ptr<RasterTilePriorityQueue> raster_queue(host_impl_.BuildRasterQueue( |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
905 FakePictureLayerImpl* pending_child_layer = pending_child.get(); | 902 FakePictureLayerImpl* pending_child_layer = pending_child.get(); |
906 pending_layer_->AddChild(pending_child.Pass()); | 903 pending_layer_->AddChild(pending_child.Pass()); |
907 | 904 |
908 // Create a fully transparent child layer so that its tile priorities are not | 905 // Create a fully transparent child layer so that its tile priorities are not |
909 // considered to be valid. | 906 // considered to be valid. |
910 pending_child_layer->SetDrawsContent(true); | 907 pending_child_layer->SetDrawsContent(true); |
911 | 908 |
912 time_ticks += base::TimeDelta::FromMilliseconds(1); | 909 time_ticks += base::TimeDelta::FromMilliseconds(1); |
913 host_impl_.SetCurrentBeginFrameArgs( | 910 host_impl_.SetCurrentBeginFrameArgs( |
914 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | 911 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); |
915 bool update_lcd_text = false; | 912 host_impl_.pending_tree()->UpdateDrawProperties(); |
916 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
917 | 913 |
918 pending_child_layer->SetOpacity(0.0); | 914 pending_child_layer->SetOpacity(0.0); |
919 | 915 |
920 time_ticks += base::TimeDelta::FromMilliseconds(1); | 916 time_ticks += base::TimeDelta::FromMilliseconds(1); |
921 host_impl_.SetCurrentBeginFrameArgs( | 917 host_impl_.SetCurrentBeginFrameArgs( |
922 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); | 918 CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); |
923 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | 919 host_impl_.pending_tree()->UpdateDrawProperties(); |
924 | 920 |
925 // Renew all of the tile priorities. | 921 // Renew all of the tile priorities. |
926 gfx::Rect viewport(layer_bounds); | 922 gfx::Rect viewport(layer_bounds); |
927 pending_layer_->HighResTiling()->ComputeTilePriorityRects(viewport, 1.0f, 1.0, | 923 pending_layer_->HighResTiling()->ComputeTilePriorityRects(viewport, 1.0f, 1.0, |
928 Occlusion()); | 924 Occlusion()); |
929 pending_layer_->LowResTiling()->ComputeTilePriorityRects(viewport, 1.0f, 1.0, | 925 pending_layer_->LowResTiling()->ComputeTilePriorityRects(viewport, 1.0f, 1.0, |
930 Occlusion()); | 926 Occlusion()); |
931 pending_child_layer->HighResTiling()->ComputeTilePriorityRects( | 927 pending_child_layer->HighResTiling()->ComputeTilePriorityRects( |
932 viewport, 1.0f, 1.0, Occlusion()); | 928 viewport, 1.0f, 1.0, Occlusion()); |
933 pending_child_layer->LowResTiling()->ComputeTilePriorityRects( | 929 pending_child_layer->LowResTiling()->ComputeTilePriorityRects( |
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 EXPECT_GT(eventually_bin_order_correct_count, | 1268 EXPECT_GT(eventually_bin_order_correct_count, |
1273 eventually_bin_order_incorrect_count); | 1269 eventually_bin_order_incorrect_count); |
1274 | 1270 |
1275 EXPECT_TRUE(have_tiles[TilePriority::NOW]); | 1271 EXPECT_TRUE(have_tiles[TilePriority::NOW]); |
1276 EXPECT_TRUE(have_tiles[TilePriority::SOON]); | 1272 EXPECT_TRUE(have_tiles[TilePriority::SOON]); |
1277 EXPECT_TRUE(have_tiles[TilePriority::EVENTUALLY]); | 1273 EXPECT_TRUE(have_tiles[TilePriority::EVENTUALLY]); |
1278 } | 1274 } |
1279 | 1275 |
1280 } // namespace | 1276 } // namespace |
1281 } // namespace cc | 1277 } // namespace cc |
OLD | NEW |