Index: cc/resources/raster_worker_pool.cc |
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc |
index d175141f3f6308c688637857702b0ab9d9e10275..552b615620e423ed37861eeb3abdadc16c6b11a1 100644 |
--- a/cc/resources/raster_worker_pool.cc |
+++ b/cc/resources/raster_worker_pool.cc |
@@ -18,9 +18,7 @@ namespace { |
class RasterTaskGraphRunner : public TaskGraphRunner, |
public base::DelegateSimpleThread::Delegate { |
public: |
- RasterTaskGraphRunner() |
- : synthetic_delay_(base::debug::TraceEventSyntheticDelay::Lookup( |
- "cc.RasterRequiredForActivation")) { |
+ RasterTaskGraphRunner() { |
size_t num_threads = RasterWorkerPool::GetNumRasterThreads(); |
while (workers_.size() < num_threads) { |
scoped_ptr<base::DelegateSimpleThread> worker = |
@@ -39,10 +37,6 @@ class RasterTaskGraphRunner : public TaskGraphRunner, |
virtual ~RasterTaskGraphRunner() { NOTREACHED(); } |
- base::debug::TraceEventSyntheticDelay* synthetic_delay() { |
- return synthetic_delay_; |
- } |
- |
private: |
// Overridden from base::DelegateSimpleThread::Delegate: |
virtual void Run() OVERRIDE { |
@@ -50,7 +44,6 @@ class RasterTaskGraphRunner : public TaskGraphRunner, |
} |
ScopedPtrDeque<base::DelegateSimpleThread> workers_; |
- base::debug::TraceEventSyntheticDelay* synthetic_delay_; |
}; |
base::LazyInstance<RasterTaskGraphRunner>::Leaky g_task_graph_runner = |
@@ -64,13 +57,21 @@ class RasterFinishedTaskImpl : public RasterizerTask { |
public: |
explicit RasterFinishedTaskImpl( |
base::SequencedTaskRunner* task_runner, |
- const base::Closure& on_raster_finished_callback) |
+ const base::Closure& on_raster_finished_callback, |
+ base::debug::TraceEventSyntheticDelay* synthetic_delay) |
: task_runner_(task_runner), |
- on_raster_finished_callback_(on_raster_finished_callback) {} |
+ on_raster_finished_callback_(on_raster_finished_callback), |
+ synthetic_delay_(synthetic_delay) { |
+ if (synthetic_delay_) |
+ synthetic_delay_->BeginParallel(&activation_delay_end_time_); |
+ } |
// Overridden from Task: |
virtual void RunOnWorkerThread() OVERRIDE { |
TRACE_EVENT0("cc", "RasterFinishedTaskImpl::RunOnWorkerThread"); |
+ |
+ if (synthetic_delay_) |
+ synthetic_delay_->EndParallel(activation_delay_end_time_); |
RasterFinished(); |
} |
@@ -89,45 +90,10 @@ class RasterFinishedTaskImpl : public RasterizerTask { |
private: |
scoped_refptr<base::SequencedTaskRunner> task_runner_; |
const base::Closure on_raster_finished_callback_; |
- |
- DISALLOW_COPY_AND_ASSIGN(RasterFinishedTaskImpl); |
-}; |
- |
-class RasterRequiredForActivationFinishedTaskImpl |
- : public RasterFinishedTaskImpl { |
- public: |
- RasterRequiredForActivationFinishedTaskImpl( |
- base::SequencedTaskRunner* task_runner, |
- const base::Closure& on_raster_finished_callback, |
- size_t tasks_required_for_activation_count) |
- : RasterFinishedTaskImpl(task_runner, on_raster_finished_callback), |
- tasks_required_for_activation_count_( |
- tasks_required_for_activation_count) { |
- if (tasks_required_for_activation_count_) { |
- g_task_graph_runner.Get().synthetic_delay()->BeginParallel( |
- &activation_delay_end_time_); |
- } |
- } |
- |
- // Overridden from Task: |
- virtual void RunOnWorkerThread() OVERRIDE { |
- TRACE_EVENT0( |
- "cc", "RasterRequiredForActivationFinishedTaskImpl::RunOnWorkerThread"); |
- |
- if (tasks_required_for_activation_count_) { |
- g_task_graph_runner.Get().synthetic_delay()->EndParallel( |
- activation_delay_end_time_); |
- } |
- RasterFinished(); |
- } |
- |
- private: |
- virtual ~RasterRequiredForActivationFinishedTaskImpl() {} |
- |
+ base::debug::TraceEventSyntheticDelay* synthetic_delay_; |
base::TimeTicks activation_delay_end_time_; |
- const size_t tasks_required_for_activation_count_; |
- DISALLOW_COPY_AND_ASSIGN(RasterRequiredForActivationFinishedTaskImpl); |
+ DISALLOW_COPY_AND_ASSIGN(RasterFinishedTaskImpl); |
}; |
} // namespace |
@@ -143,6 +109,7 @@ unsigned RasterWorkerPool::kBenchmarkRasterTaskPriority = 0u; |
unsigned RasterWorkerPool::kRasterFinishedTaskPriority = 2u; |
unsigned RasterWorkerPool::kRasterRequiredForActivationFinishedTaskPriority = |
reveman
2014/09/05 08:38:59
remove
ernstm
2014/09/05 21:36:11
Done.
|
1u; |
+unsigned RasterWorkerPool::kRasterTaskSetFinishedTaskPriority = 1u; |
unsigned RasterWorkerPool::kRasterTaskPriorityBase = 3u; |
RasterWorkerPool::RasterWorkerPool() {} |
@@ -173,21 +140,10 @@ TaskGraphRunner* RasterWorkerPool::GetTaskGraphRunner() { |
// static |
scoped_refptr<RasterizerTask> RasterWorkerPool::CreateRasterFinishedTask( |
base::SequencedTaskRunner* task_runner, |
- const base::Closure& on_raster_finished_callback) { |
- return make_scoped_refptr( |
- new RasterFinishedTaskImpl(task_runner, on_raster_finished_callback)); |
-} |
- |
-// static |
-scoped_refptr<RasterizerTask> |
-RasterWorkerPool::CreateRasterRequiredForActivationFinishedTask( |
- size_t tasks_required_for_activation_count, |
- base::SequencedTaskRunner* task_runner, |
- const base::Closure& on_raster_finished_callback) { |
- return make_scoped_refptr(new RasterRequiredForActivationFinishedTaskImpl( |
- task_runner, |
- on_raster_finished_callback, |
- tasks_required_for_activation_count)); |
+ const base::Closure& on_raster_finished_callback, |
+ base::debug::TraceEventSyntheticDelay* synthetic_delay) { |
+ return make_scoped_refptr(new RasterFinishedTaskImpl( |
+ task_runner, on_raster_finished_callback, synthetic_delay)); |
} |
// static |