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