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

Side by Side Diff: cc/worker_pool.cc

Issue 12209022: cc: add rasterize time to continuous painting graph data in impl-side-painting (Closed) Base URL: http://git.chromium.org/chromium/src.git@raster
Patch Set: assume that rasterize time is saved after paint time Created 7 years, 10 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
« cc/paint_time_counter.cc ('K') | « cc/tile_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/worker_pool.h" 5 #include "cc/worker_pool.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 void WorkerPool::SetRecordRenderingStats(bool record_rendering_stats) { 173 void WorkerPool::SetRecordRenderingStats(bool record_rendering_stats) {
174 for (WorkerVector::iterator it = workers_.begin(); 174 for (WorkerVector::iterator it = workers_.begin();
175 it != workers_.end(); ++it) { 175 it != workers_.end(); ++it) {
176 Worker* worker = *it; 176 Worker* worker = *it;
177 worker->set_record_rendering_stats(record_rendering_stats); 177 worker->set_record_rendering_stats(record_rendering_stats);
178 } 178 }
179 } 179 }
180 180
181 void WorkerPool::GetRenderingStats(RenderingStats* stats) { 181 void WorkerPool::GetRenderingStats(RenderingStats* stats) {
182 stats->totalRasterizeTime = base::TimeDelta(); 182 stats->totalRasterizeTime = base::TimeDelta();
183 stats->totalRasterizeTimeForNowBinsOnPendingTree = base::TimeDelta();
183 stats->totalPixelsRasterized = 0; 184 stats->totalPixelsRasterized = 0;
184 stats->totalDeferredImageDecodeCount = 0; 185 stats->totalDeferredImageDecodeCount = 0;
185 stats->totalDeferredImageDecodeTime = base::TimeDelta(); 186 stats->totalDeferredImageDecodeTime = base::TimeDelta();
186 for (WorkerVector::iterator it = workers_.begin(); 187 for (WorkerVector::iterator it = workers_.begin();
187 it != workers_.end(); ++it) { 188 it != workers_.end(); ++it) {
188 Worker* worker = *it; 189 Worker* worker = *it;
189 CHECK(worker->rendering_stats()); 190 CHECK(worker->rendering_stats());
190 stats->totalRasterizeTime += 191 stats->totalRasterizeTime +=
191 worker->rendering_stats()->totalRasterizeTime; 192 worker->rendering_stats()->totalRasterizeTime;
193 stats->totalRasterizeTimeForNowBinsOnPendingTree +=
194 worker->rendering_stats()->totalRasterizeTimeForNowBinsOnPendingTree;
192 stats->totalPixelsRasterized += 195 stats->totalPixelsRasterized +=
193 worker->rendering_stats()->totalPixelsRasterized; 196 worker->rendering_stats()->totalPixelsRasterized;
194 stats->totalDeferredImageDecodeCount += 197 stats->totalDeferredImageDecodeCount +=
195 worker->rendering_stats()->totalDeferredImageDecodeCount; 198 worker->rendering_stats()->totalDeferredImageDecodeCount;
196 stats->totalDeferredImageDecodeTime += 199 stats->totalDeferredImageDecodeTime +=
197 worker->rendering_stats()->totalDeferredImageDecodeTime; 200 worker->rendering_stats()->totalDeferredImageDecodeTime;
198 } 201 }
199 } 202 }
200 203
201 WorkerPool::Worker* WorkerPool::GetWorkerForNextTask() { 204 WorkerPool::Worker* WorkerPool::GetWorkerForNextTask() {
202 CHECK(!shutdown_); 205 CHECK(!shutdown_);
203 SortWorkersIfNeeded(); 206 SortWorkersIfNeeded();
204 return workers_.front(); 207 return workers_.front();
205 } 208 }
206 209
207 void WorkerPool::DidNumPendingTasksChange() { 210 void WorkerPool::DidNumPendingTasksChange() {
208 workers_need_sorting_ = true; 211 workers_need_sorting_ = true;
209 } 212 }
210 213
211 void WorkerPool::SortWorkersIfNeeded() { 214 void WorkerPool::SortWorkersIfNeeded() {
212 if (!workers_need_sorting_) 215 if (!workers_need_sorting_)
213 return; 216 return;
214 217
215 std::sort(workers_.begin(), workers_.end(), NumPendingTasksComparator()); 218 std::sort(workers_.begin(), workers_.end(), NumPendingTasksComparator());
216 workers_need_sorting_ = false; 219 workers_need_sorting_ = false;
217 } 220 }
218 221
219 } // namespace cc 222 } // namespace cc
OLDNEW
« cc/paint_time_counter.cc ('K') | « cc/tile_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698