| 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/raster/tile_task_worker_pool.h" | 5 #include "cc/raster/tile_task_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" |
| 11 #include "cc/raster/bitmap_tile_task_worker_pool.h" | 11 #include "cc/raster/bitmap_tile_task_worker_pool.h" |
| 12 #include "cc/raster/gpu_rasterizer.h" | 12 #include "cc/raster/gpu_rasterizer.h" |
| 13 #include "cc/raster/gpu_tile_task_worker_pool.h" | 13 #include "cc/raster/gpu_tile_task_worker_pool.h" |
| 14 #include "cc/raster/one_copy_tile_task_worker_pool.h" | 14 #include "cc/raster/one_copy_tile_task_worker_pool.h" |
| 15 #include "cc/raster/raster_buffer.h" | 15 #include "cc/raster/raster_buffer.h" |
| 16 #include "cc/raster/synchronous_task_graph_runner.h" |
| 16 #include "cc/raster/tile_task_runner.h" | 17 #include "cc/raster/tile_task_runner.h" |
| 17 #include "cc/raster/zero_copy_tile_task_worker_pool.h" | 18 #include "cc/raster/zero_copy_tile_task_worker_pool.h" |
| 18 #include "cc/resources/resource_pool.h" | 19 #include "cc/resources/resource_pool.h" |
| 19 #include "cc/resources/resource_provider.h" | 20 #include "cc/resources/resource_provider.h" |
| 20 #include "cc/resources/scoped_resource.h" | 21 #include "cc/resources/scoped_resource.h" |
| 21 #include "cc/test/fake_output_surface.h" | 22 #include "cc/test/fake_output_surface.h" |
| 22 #include "cc/test/fake_output_surface_client.h" | 23 #include "cc/test/fake_output_surface_client.h" |
| 23 #include "cc/test/fake_resource_provider.h" | 24 #include "cc/test/fake_resource_provider.h" |
| 24 #include "cc/test/test_context_support.h" | 25 #include "cc/test/test_context_support.h" |
| 25 #include "cc/test/test_gpu_memory_buffer_manager.h" | 26 #include "cc/test/test_gpu_memory_buffer_manager.h" |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 | 179 |
| 179 class TileTaskWorkerPoolPerfTestBase { | 180 class TileTaskWorkerPoolPerfTestBase { |
| 180 public: | 181 public: |
| 181 typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector; | 182 typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector; |
| 182 | 183 |
| 183 enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL }; | 184 enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL }; |
| 184 | 185 |
| 185 TileTaskWorkerPoolPerfTestBase() | 186 TileTaskWorkerPoolPerfTestBase() |
| 186 : context_provider_(make_scoped_refptr(new PerfContextProvider)), | 187 : context_provider_(make_scoped_refptr(new PerfContextProvider)), |
| 187 task_runner_(new base::TestSimpleTaskRunner), | 188 task_runner_(new base::TestSimpleTaskRunner), |
| 188 task_graph_runner_(new TaskGraphRunner), | 189 task_graph_runner_(new SynchronousTaskGraphRunner), |
| 189 timer_(kWarmupRuns, | 190 timer_(kWarmupRuns, |
| 190 base::TimeDelta::FromMilliseconds(kTimeLimitMillis), | 191 base::TimeDelta::FromMilliseconds(kTimeLimitMillis), |
| 191 kTimeCheckInterval) {} | 192 kTimeCheckInterval) {} |
| 192 | 193 |
| 193 void CreateImageDecodeTasks(unsigned num_image_decode_tasks, | 194 void CreateImageDecodeTasks(unsigned num_image_decode_tasks, |
| 194 ImageDecodeTask::Vector* image_decode_tasks) { | 195 ImageDecodeTask::Vector* image_decode_tasks) { |
| 195 for (unsigned i = 0; i < num_image_decode_tasks; ++i) | 196 for (unsigned i = 0; i < num_image_decode_tasks; ++i) |
| 196 image_decode_tasks->push_back(new PerfImageDecodeTaskImpl); | 197 image_decode_tasks->push_back(new PerfImageDecodeTaskImpl); |
| 197 } | 198 } |
| 198 | 199 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 224 TileTaskQueue::Item(raster_tasks[i].get(), task_set_collection)); | 225 TileTaskQueue::Item(raster_tasks[i].get(), task_set_collection)); |
| 225 } | 226 } |
| 226 } | 227 } |
| 227 | 228 |
| 228 protected: | 229 protected: |
| 229 scoped_refptr<ContextProvider> context_provider_; | 230 scoped_refptr<ContextProvider> context_provider_; |
| 230 FakeOutputSurfaceClient output_surface_client_; | 231 FakeOutputSurfaceClient output_surface_client_; |
| 231 scoped_ptr<FakeOutputSurface> output_surface_; | 232 scoped_ptr<FakeOutputSurface> output_surface_; |
| 232 scoped_ptr<ResourceProvider> resource_provider_; | 233 scoped_ptr<ResourceProvider> resource_provider_; |
| 233 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; | 234 scoped_refptr<base::TestSimpleTaskRunner> task_runner_; |
| 234 scoped_ptr<TaskGraphRunner> task_graph_runner_; | 235 scoped_ptr<SynchronousTaskGraphRunner> task_graph_runner_; |
| 235 LapTimer timer_; | 236 LapTimer timer_; |
| 236 }; | 237 }; |
| 237 | 238 |
| 238 class TileTaskWorkerPoolPerfTest | 239 class TileTaskWorkerPoolPerfTest |
| 239 : public TileTaskWorkerPoolPerfTestBase, | 240 : public TileTaskWorkerPoolPerfTestBase, |
| 240 public testing::TestWithParam<TileTaskWorkerPoolType>, | 241 public testing::TestWithParam<TileTaskWorkerPoolType>, |
| 241 public TileTaskRunnerClient { | 242 public TileTaskRunnerClient { |
| 242 public: | 243 public: |
| 243 // Overridden from testing::Test: | 244 // Overridden from testing::Test: |
| 244 void SetUp() override { | 245 void SetUp() override { |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 487 RunBuildTileTaskQueueTest("1_0", 1, 0); | 488 RunBuildTileTaskQueueTest("1_0", 1, 0); |
| 488 RunBuildTileTaskQueueTest("32_0", 32, 0); | 489 RunBuildTileTaskQueueTest("32_0", 32, 0); |
| 489 RunBuildTileTaskQueueTest("1_1", 1, 1); | 490 RunBuildTileTaskQueueTest("1_1", 1, 1); |
| 490 RunBuildTileTaskQueueTest("32_1", 32, 1); | 491 RunBuildTileTaskQueueTest("32_1", 32, 1); |
| 491 RunBuildTileTaskQueueTest("1_4", 1, 4); | 492 RunBuildTileTaskQueueTest("1_4", 1, 4); |
| 492 RunBuildTileTaskQueueTest("32_4", 32, 4); | 493 RunBuildTileTaskQueueTest("32_4", 32, 4); |
| 493 } | 494 } |
| 494 | 495 |
| 495 } // namespace | 496 } // namespace |
| 496 } // namespace cc | 497 } // namespace cc |
| OLD | NEW |