OLD | NEW |
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/test/test_simple_task_runner.h" | 7 #include "base/test/test_simple_task_runner.h" |
8 #include "base/time/time.h" | 8 #include "base/time/time.h" |
9 #include "cc/debug/lap_timer.h" | 9 #include "cc/debug/lap_timer.h" |
10 #include "cc/output/context_provider.h" | 10 #include "cc/output/context_provider.h" |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 scoped_ptr<TaskGraphRunner> task_graph_runner_; | 221 scoped_ptr<TaskGraphRunner> task_graph_runner_; |
222 LapTimer timer_; | 222 LapTimer timer_; |
223 }; | 223 }; |
224 | 224 |
225 class RasterWorkerPoolPerfTest | 225 class RasterWorkerPoolPerfTest |
226 : public RasterWorkerPoolPerfTestBase, | 226 : public RasterWorkerPoolPerfTestBase, |
227 public testing::TestWithParam<RasterWorkerPoolType>, | 227 public testing::TestWithParam<RasterWorkerPoolType>, |
228 public RasterizerClient { | 228 public RasterizerClient { |
229 public: | 229 public: |
230 // Overridden from testing::Test: | 230 // Overridden from testing::Test: |
231 virtual void SetUp() override { | 231 void SetUp() override { |
232 switch (GetParam()) { | 232 switch (GetParam()) { |
233 case RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER: | 233 case RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER: |
234 Create3dOutputSurfaceAndResourceProvider(); | 234 Create3dOutputSurfaceAndResourceProvider(); |
235 raster_worker_pool_ = PixelBufferRasterWorkerPool::Create( | 235 raster_worker_pool_ = PixelBufferRasterWorkerPool::Create( |
236 task_runner_.get(), | 236 task_runner_.get(), |
237 task_graph_runner_.get(), | 237 task_graph_runner_.get(), |
238 context_provider_.get(), | 238 context_provider_.get(), |
239 resource_provider_.get(), | 239 resource_provider_.get(), |
240 std::numeric_limits<size_t>::max()); | 240 std::numeric_limits<size_t>::max()); |
241 break; | 241 break; |
(...skipping 28 matching lines...) Expand all Loading... |
270 raster_worker_pool_ = | 270 raster_worker_pool_ = |
271 BitmapRasterWorkerPool::Create(task_runner_.get(), | 271 BitmapRasterWorkerPool::Create(task_runner_.get(), |
272 task_graph_runner_.get(), | 272 task_graph_runner_.get(), |
273 resource_provider_.get()); | 273 resource_provider_.get()); |
274 break; | 274 break; |
275 } | 275 } |
276 | 276 |
277 DCHECK(raster_worker_pool_); | 277 DCHECK(raster_worker_pool_); |
278 raster_worker_pool_->AsRasterizer()->SetClient(this); | 278 raster_worker_pool_->AsRasterizer()->SetClient(this); |
279 } | 279 } |
280 virtual void TearDown() override { | 280 void TearDown() override { |
281 raster_worker_pool_->AsRasterizer()->Shutdown(); | 281 raster_worker_pool_->AsRasterizer()->Shutdown(); |
282 raster_worker_pool_->AsRasterizer()->CheckForCompletedTasks(); | 282 raster_worker_pool_->AsRasterizer()->CheckForCompletedTasks(); |
283 } | 283 } |
284 | 284 |
285 // Overriden from RasterizerClient: | 285 // Overriden from RasterizerClient: |
286 void DidFinishRunningTasks(TaskSet task_set) override { | 286 void DidFinishRunningTasks(TaskSet task_set) override { |
287 raster_worker_pool_->AsRasterizer()->CheckForCompletedTasks(); | 287 raster_worker_pool_->AsRasterizer()->CheckForCompletedTasks(); |
288 } | 288 } |
289 TaskSetCollection TasksThatShouldBeForcedToComplete() const override { | 289 TaskSetCollection TasksThatShouldBeForcedToComplete() const override { |
290 return TaskSetCollection(); | 290 return TaskSetCollection(); |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
478 ::testing::Values(RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER, | 478 ::testing::Values(RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER, |
479 RASTER_WORKER_POOL_TYPE_ZERO_COPY, | 479 RASTER_WORKER_POOL_TYPE_ZERO_COPY, |
480 RASTER_WORKER_POOL_TYPE_ONE_COPY, | 480 RASTER_WORKER_POOL_TYPE_ONE_COPY, |
481 RASTER_WORKER_POOL_TYPE_GPU, | 481 RASTER_WORKER_POOL_TYPE_GPU, |
482 RASTER_WORKER_POOL_TYPE_BITMAP)); | 482 RASTER_WORKER_POOL_TYPE_BITMAP)); |
483 | 483 |
484 class RasterWorkerPoolCommonPerfTest : public RasterWorkerPoolPerfTestBase, | 484 class RasterWorkerPoolCommonPerfTest : public RasterWorkerPoolPerfTestBase, |
485 public testing::Test { | 485 public testing::Test { |
486 public: | 486 public: |
487 // Overridden from testing::Test: | 487 // Overridden from testing::Test: |
488 virtual void SetUp() override { | 488 void SetUp() override { |
489 output_surface_ = FakeOutputSurface::Create3d(context_provider_).Pass(); | 489 output_surface_ = FakeOutputSurface::Create3d(context_provider_).Pass(); |
490 CHECK(output_surface_->BindToClient(&output_surface_client_)); | 490 CHECK(output_surface_->BindToClient(&output_surface_client_)); |
491 resource_provider_ = | 491 resource_provider_ = |
492 ResourceProvider::Create( | 492 ResourceProvider::Create( |
493 output_surface_.get(), NULL, NULL, NULL, 0, false, 1).Pass(); | 493 output_surface_.get(), NULL, NULL, NULL, 0, false, 1).Pass(); |
494 } | 494 } |
495 | 495 |
496 void RunBuildRasterTaskQueueTest(const std::string& test_name, | 496 void RunBuildRasterTaskQueueTest(const std::string& test_name, |
497 unsigned num_raster_tasks, | 497 unsigned num_raster_tasks, |
498 unsigned num_image_decode_tasks) { | 498 unsigned num_image_decode_tasks) { |
(...skipping 25 matching lines...) Expand all Loading... |
524 RunBuildRasterTaskQueueTest("1_0", 1, 0); | 524 RunBuildRasterTaskQueueTest("1_0", 1, 0); |
525 RunBuildRasterTaskQueueTest("32_0", 32, 0); | 525 RunBuildRasterTaskQueueTest("32_0", 32, 0); |
526 RunBuildRasterTaskQueueTest("1_1", 1, 1); | 526 RunBuildRasterTaskQueueTest("1_1", 1, 1); |
527 RunBuildRasterTaskQueueTest("32_1", 32, 1); | 527 RunBuildRasterTaskQueueTest("32_1", 32, 1); |
528 RunBuildRasterTaskQueueTest("1_4", 1, 4); | 528 RunBuildRasterTaskQueueTest("1_4", 1, 4); |
529 RunBuildRasterTaskQueueTest("32_4", 32, 4); | 529 RunBuildRasterTaskQueueTest("32_4", 32, 4); |
530 } | 530 } |
531 | 531 |
532 } // namespace | 532 } // namespace |
533 } // namespace cc | 533 } // namespace cc |
OLD | NEW |