OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
6 | 6 |
7 #include "cc/debug/lap_timer.h" | 7 #include "cc/debug/lap_timer.h" |
8 #include "cc/resources/tiling_set_raster_queue_all.h" | 8 #include "cc/resources/tiling_set_raster_queue_all.h" |
9 #include "cc/test/fake_impl_proxy.h" | 9 #include "cc/test/fake_impl_proxy.h" |
10 #include "cc/test/fake_layer_tree_host_impl.h" | 10 #include "cc/test/fake_layer_tree_host_impl.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 pending_tree->SetRootLayer(pending_layer.Pass()); | 65 pending_tree->SetRootLayer(pending_layer.Pass()); |
66 | 66 |
67 pending_layer_ = static_cast<FakePictureLayerImpl*>( | 67 pending_layer_ = static_cast<FakePictureLayerImpl*>( |
68 host_impl_.pending_tree()->LayerById(7)); | 68 host_impl_.pending_tree()->LayerById(7)); |
69 } | 69 } |
70 | 70 |
71 void RunRasterQueueConstructAndIterateTest(const std::string& test_name, | 71 void RunRasterQueueConstructAndIterateTest(const std::string& test_name, |
72 int num_tiles, | 72 int num_tiles, |
73 const gfx::Size& viewport_size) { | 73 const gfx::Size& viewport_size) { |
74 host_impl_.SetViewportSize(viewport_size); | 74 host_impl_.SetViewportSize(viewport_size); |
75 bool update_lcd_text = false; | 75 host_impl_.pending_tree()->UpdateDrawProperties(); |
76 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
77 | 76 |
78 timer_.Reset(); | 77 timer_.Reset(); |
79 do { | 78 do { |
80 int count = num_tiles; | 79 int count = num_tiles; |
81 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 80 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
82 pending_layer_->picture_layer_tiling_set(), false)); | 81 pending_layer_->picture_layer_tiling_set(), false)); |
83 while (count--) { | 82 while (count--) { |
84 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; | 83 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; |
85 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; | 84 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; |
86 queue->Pop(); | 85 queue->Pop(); |
87 } | 86 } |
88 timer_.NextLap(); | 87 timer_.NextLap(); |
89 } while (!timer_.HasTimeLimitExpired()); | 88 } while (!timer_.HasTimeLimitExpired()); |
90 | 89 |
91 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", | 90 perf_test::PrintResult("tiling_set_raster_queue_construct_and_iterate", "", |
92 test_name, timer_.LapsPerSecond(), "runs/s", true); | 91 test_name, timer_.LapsPerSecond(), "runs/s", true); |
93 } | 92 } |
94 | 93 |
95 void RunRasterQueueConstructTest(const std::string& test_name, | 94 void RunRasterQueueConstructTest(const std::string& test_name, |
96 const gfx::Rect& viewport) { | 95 const gfx::Rect& viewport) { |
97 host_impl_.SetViewportSize(viewport.size()); | 96 host_impl_.SetViewportSize(viewport.size()); |
98 pending_layer_->PushScrollOffsetFromMainThread( | 97 pending_layer_->PushScrollOffsetFromMainThread( |
99 gfx::ScrollOffset(viewport.x(), viewport.y())); | 98 gfx::ScrollOffset(viewport.x(), viewport.y())); |
100 bool update_lcd_text = false; | 99 host_impl_.pending_tree()->UpdateDrawProperties(); |
101 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
102 | 100 |
103 timer_.Reset(); | 101 timer_.Reset(); |
104 do { | 102 do { |
105 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( | 103 scoped_ptr<TilingSetRasterQueueAll> queue(new TilingSetRasterQueueAll( |
106 pending_layer_->picture_layer_tiling_set(), false)); | 104 pending_layer_->picture_layer_tiling_set(), false)); |
107 timer_.NextLap(); | 105 timer_.NextLap(); |
108 } while (!timer_.HasTimeLimitExpired()); | 106 } while (!timer_.HasTimeLimitExpired()); |
109 | 107 |
110 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, | 108 perf_test::PrintResult("tiling_set_raster_queue_construct", "", test_name, |
111 timer_.LapsPerSecond(), "runs/s", true); | 109 timer_.LapsPerSecond(), "runs/s", true); |
112 } | 110 } |
113 | 111 |
114 void RunEvictionQueueConstructAndIterateTest( | 112 void RunEvictionQueueConstructAndIterateTest( |
115 const std::string& test_name, | 113 const std::string& test_name, |
116 int num_tiles, | 114 int num_tiles, |
117 const gfx::Size& viewport_size) { | 115 const gfx::Size& viewport_size) { |
118 host_impl_.SetViewportSize(viewport_size); | 116 host_impl_.SetViewportSize(viewport_size); |
119 bool update_lcd_text = false; | 117 host_impl_.pending_tree()->UpdateDrawProperties(); |
120 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
121 | 118 |
122 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 119 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
123 SMOOTHNESS_TAKES_PRIORITY, | 120 SMOOTHNESS_TAKES_PRIORITY, |
124 NEW_CONTENT_TAKES_PRIORITY}; | 121 NEW_CONTENT_TAKES_PRIORITY}; |
125 int priority_count = 0; | 122 int priority_count = 0; |
126 timer_.Reset(); | 123 timer_.Reset(); |
127 do { | 124 do { |
128 int count = num_tiles; | 125 int count = num_tiles; |
129 scoped_ptr<TilingSetEvictionQueue> queue( | 126 scoped_ptr<TilingSetEvictionQueue> queue( |
130 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 127 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), |
(...skipping 10 matching lines...) Expand all Loading... |
141 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", | 138 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", |
142 "", test_name, timer_.LapsPerSecond(), "runs/s", | 139 "", test_name, timer_.LapsPerSecond(), "runs/s", |
143 true); | 140 true); |
144 } | 141 } |
145 | 142 |
146 void RunEvictionQueueConstructTest(const std::string& test_name, | 143 void RunEvictionQueueConstructTest(const std::string& test_name, |
147 const gfx::Rect& viewport) { | 144 const gfx::Rect& viewport) { |
148 host_impl_.SetViewportSize(viewport.size()); | 145 host_impl_.SetViewportSize(viewport.size()); |
149 pending_layer_->PushScrollOffsetFromMainThread( | 146 pending_layer_->PushScrollOffsetFromMainThread( |
150 gfx::ScrollOffset(viewport.x(), viewport.y())); | 147 gfx::ScrollOffset(viewport.x(), viewport.y())); |
151 bool update_lcd_text = false; | 148 host_impl_.pending_tree()->UpdateDrawProperties(); |
152 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); | |
153 | 149 |
154 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, | 150 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES, |
155 SMOOTHNESS_TAKES_PRIORITY, | 151 SMOOTHNESS_TAKES_PRIORITY, |
156 NEW_CONTENT_TAKES_PRIORITY}; | 152 NEW_CONTENT_TAKES_PRIORITY}; |
157 int priority_count = 0; | 153 int priority_count = 0; |
158 timer_.Reset(); | 154 timer_.Reset(); |
159 do { | 155 do { |
160 scoped_ptr<TilingSetEvictionQueue> queue( | 156 scoped_ptr<TilingSetEvictionQueue> queue( |
161 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), | 157 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), |
162 priorities[priority_count], false)); | 158 priorities[priority_count], false)); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); | 248 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); |
253 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); | 249 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); |
254 | 250 |
255 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); | 251 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); |
256 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); | 252 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); |
257 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); | 253 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); |
258 } | 254 } |
259 | 255 |
260 } // namespace | 256 } // namespace |
261 } // namespace cc | 257 } // namespace cc |
OLD | NEW |