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

Side by Side Diff: cc/resources/raster_worker_pool_perftest.cc

Issue 17351017: Re-land: cc: Add raster finished signals to RasterWorkerPool. (Closed) Base URL: http://git.chromium.org/chromium/src.git@new-graph-build
Patch Set: vmpstr's review and a number of other fixes Created 7 years, 6 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
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/resources/raster_worker_pool.h" 5 #include "cc/resources/raster_worker_pool.h"
6 6
7 #include "base/time.h" 7 #include "base/time.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace cc { 10 namespace cc {
(...skipping 20 matching lines...) Expand all
31 virtual ~PerfRasterWorkerPool() {} 31 virtual ~PerfRasterWorkerPool() {}
32 32
33 static scoped_ptr<PerfRasterWorkerPool> Create() { 33 static scoped_ptr<PerfRasterWorkerPool> Create() {
34 return make_scoped_ptr(new PerfRasterWorkerPool); 34 return make_scoped_ptr(new PerfRasterWorkerPool);
35 } 35 }
36 36
37 // Overridden from RasterWorkerPool: 37 // Overridden from RasterWorkerPool:
38 virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE { 38 virtual void ScheduleTasks(RasterTask::Queue* queue) OVERRIDE {
39 NOTREACHED(); 39 NOTREACHED();
40 } 40 }
41 virtual void OnRasterTasksFinished() OVERRIDE {
42 NOTREACHED();
43 }
44 virtual void OnRasterTasksRequiredForActivationFinished() OVERRIDE {
45 NOTREACHED();
46 }
41 47
42 void SetRasterTasks(RasterTask::Queue* queue) { 48 void SetRasterTasks(RasterTask::Queue* queue) {
43 RasterWorkerPool::SetRasterTasks(queue); 49 RasterWorkerPool::SetRasterTasks(queue);
44 50
45 TaskMap perf_tasks; 51 TaskMap perf_tasks;
46 for (RasterTaskVector::const_iterator it = raster_tasks().begin(); 52 for (RasterTaskVector::const_iterator it = raster_tasks().begin();
47 it != raster_tasks().end(); ++it) { 53 it != raster_tasks().end(); ++it) {
48 internal::RasterWorkerPoolTask* task = it->get(); 54 internal::RasterWorkerPoolTask* task = it->get();
49 55
50 scoped_refptr<internal::WorkerPoolTask> new_perf_task( 56 scoped_refptr<internal::WorkerPoolTask> new_perf_task(
51 new PerfWorkerPoolTaskImpl); 57 new PerfWorkerPoolTaskImpl);
52 perf_tasks[task] = new_perf_task; 58 perf_tasks[task] = new_perf_task;
53 } 59 }
54 60
55 perf_tasks_.swap(perf_tasks); 61 perf_tasks_.swap(perf_tasks);
56 } 62 }
57 63
58 void BuildTaskGraph() { 64 void BuildTaskGraph() {
59 RasterTaskGraph graph; 65 RasterTaskGraph graph;
60 66
61 for (RasterTaskVector::const_iterator it = raster_tasks().begin(); 67 for (RasterTaskVector::const_iterator it = raster_tasks().begin();
62 it != raster_tasks().end(); ++it) { 68 it != raster_tasks().end(); ++it) {
63 internal::RasterWorkerPoolTask* task = it->get(); 69 internal::RasterWorkerPoolTask* task = it->get();
64 70
65 TaskMap::iterator perf_it = perf_tasks_.find(task); 71 TaskMap::iterator perf_it = perf_tasks_.find(task);
66 DCHECK(perf_it != perf_tasks_.end()); 72 DCHECK(perf_it != perf_tasks_.end());
67 if (perf_it != perf_tasks_.end()) { 73 if (perf_it != perf_tasks_.end()) {
68 internal::WorkerPoolTask* perf_task = perf_it->second.get(); 74 internal::WorkerPoolTask* perf_task = perf_it->second.get();
69 graph.InsertRasterTask(perf_task, task->dependencies()); 75 graph.InsertRasterTask(perf_task,
76 task->dependencies(),
77 IsRasterTaskRequiredForActivation(task));
70 } 78 }
71 } 79 }
72 } 80 }
73 81
74 private: 82 private:
75 TaskMap perf_tasks_; 83 TaskMap perf_tasks_;
76 84
77 DISALLOW_COPY_AND_ASSIGN(PerfRasterWorkerPool); 85 DISALLOW_COPY_AND_ASSIGN(PerfRasterWorkerPool);
78 }; 86 };
79 87
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 RunBuildTaskGraphTest("build_task_graph_100_4", 100, 4); 199 RunBuildTaskGraphTest("build_task_graph_100_4", 100, 4);
192 RunBuildTaskGraphTest("build_task_graph_1000_4", 1000, 4); 200 RunBuildTaskGraphTest("build_task_graph_1000_4", 1000, 4);
193 RunBuildTaskGraphTest("build_task_graph_10_16", 10, 16); 201 RunBuildTaskGraphTest("build_task_graph_10_16", 10, 16);
194 RunBuildTaskGraphTest("build_task_graph_100_16", 100, 16); 202 RunBuildTaskGraphTest("build_task_graph_100_16", 100, 16);
195 RunBuildTaskGraphTest("build_task_graph_1000_16", 1000, 16); 203 RunBuildTaskGraphTest("build_task_graph_1000_16", 1000, 16);
196 } 204 }
197 205
198 } // namespace 206 } // namespace
199 207
200 } // namespace cc 208 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698