Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Side by Side Diff: cc/layers/picture_layer_impl_perftest.cc

Issue 1051473002: cc: Switch tiling set eviction queue to consider combined priority. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 114 }
115 115
116 void RunEvictionQueueConstructAndIterateTest( 116 void RunEvictionQueueConstructAndIterateTest(
117 const std::string& test_name, 117 const std::string& test_name,
118 int num_tiles, 118 int num_tiles,
119 const gfx::Size& viewport_size) { 119 const gfx::Size& viewport_size) {
120 host_impl_.SetViewportSize(viewport_size); 120 host_impl_.SetViewportSize(viewport_size);
121 bool update_lcd_text = false; 121 bool update_lcd_text = false;
122 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 122 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
123 123
124 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES,
125 SMOOTHNESS_TAKES_PRIORITY,
126 NEW_CONTENT_TAKES_PRIORITY};
127 int priority_count = 0;
128 timer_.Reset(); 124 timer_.Reset();
129 do { 125 do {
130 int count = num_tiles; 126 int count = num_tiles;
131 scoped_ptr<TilingSetEvictionQueue> queue( 127 scoped_ptr<TilingSetEvictionQueue> queue(new TilingSetEvictionQueue(
132 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), 128 pending_layer_->picture_layer_tiling_set(), false));
133 priorities[priority_count], false));
134 while (count--) { 129 while (count--) {
135 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count; 130 ASSERT_TRUE(!queue->IsEmpty()) << "count: " << count;
136 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count; 131 ASSERT_TRUE(queue->Top() != nullptr) << "count: " << count;
137 queue->Pop(); 132 queue->Pop();
138 } 133 }
139 priority_count = (priority_count + 1) % arraysize(priorities);
140 timer_.NextLap(); 134 timer_.NextLap();
141 } while (!timer_.HasTimeLimitExpired()); 135 } while (!timer_.HasTimeLimitExpired());
142 136
143 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate", 137 perf_test::PrintResult("tiling_set_eviction_queue_construct_and_iterate",
144 "", test_name, timer_.LapsPerSecond(), "runs/s", 138 "", test_name, timer_.LapsPerSecond(), "runs/s",
145 true); 139 true);
146 } 140 }
147 141
148 void RunEvictionQueueConstructTest(const std::string& test_name, 142 void RunEvictionQueueConstructTest(const std::string& test_name,
149 const gfx::Rect& viewport) { 143 const gfx::Rect& viewport) {
150 host_impl_.SetViewportSize(viewport.size()); 144 host_impl_.SetViewportSize(viewport.size());
151 pending_layer_->PushScrollOffsetFromMainThread( 145 pending_layer_->PushScrollOffsetFromMainThread(
152 gfx::ScrollOffset(viewport.x(), viewport.y())); 146 gfx::ScrollOffset(viewport.x(), viewport.y()));
153 bool update_lcd_text = false; 147 bool update_lcd_text = false;
154 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text); 148 host_impl_.pending_tree()->UpdateDrawProperties(update_lcd_text);
155 149
156 TreePriority priorities[] = {SAME_PRIORITY_FOR_BOTH_TREES,
157 SMOOTHNESS_TAKES_PRIORITY,
158 NEW_CONTENT_TAKES_PRIORITY};
159 int priority_count = 0;
160 timer_.Reset(); 150 timer_.Reset();
161 do { 151 do {
162 scoped_ptr<TilingSetEvictionQueue> queue( 152 scoped_ptr<TilingSetEvictionQueue> queue(new TilingSetEvictionQueue(
163 new TilingSetEvictionQueue(pending_layer_->picture_layer_tiling_set(), 153 pending_layer_->picture_layer_tiling_set(), false));
164 priorities[priority_count], false));
165 priority_count = (priority_count + 1) % arraysize(priorities);
166 timer_.NextLap(); 154 timer_.NextLap();
167 } while (!timer_.HasTimeLimitExpired()); 155 } while (!timer_.HasTimeLimitExpired());
168 156
169 perf_test::PrintResult("tiling_set_eviction_queue_construct", "", test_name, 157 perf_test::PrintResult("tiling_set_eviction_queue_construct", "", test_name,
170 timer_.LapsPerSecond(), "runs/s", true); 158 timer_.LapsPerSecond(), "runs/s", true);
171 } 159 }
172 160
173 protected: 161 protected:
174 TestSharedBitmapManager shared_bitmap_manager_; 162 TestSharedBitmapManager shared_bitmap_manager_;
175 TestTaskGraphRunner task_graph_runner_; 163 TestTaskGraphRunner task_graph_runner_;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 ASSERT_TRUE(host_impl_.tile_manager() != nullptr); 243 ASSERT_TRUE(host_impl_.tile_manager() != nullptr);
256 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles); 244 host_impl_.tile_manager()->InitializeTilesWithResourcesForTesting(all_tiles);
257 245
258 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100)); 246 RunEvictionQueueConstructTest("0_0_100x100", gfx::Rect(0, 0, 100, 100));
259 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100)); 247 RunEvictionQueueConstructTest("5000_0_100x100", gfx::Rect(5000, 0, 100, 100));
260 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100)); 248 RunEvictionQueueConstructTest("9999_0_100x100", gfx::Rect(9999, 0, 100, 100));
261 } 249 }
262 250
263 } // namespace 251 } // namespace
264 } // namespace cc 252 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698