Index: cc/raster/raster_buffer_provider_perftest.cc |
diff --git a/cc/raster/tile_task_worker_pool_perftest.cc b/cc/raster/raster_buffer_provider_perftest.cc |
similarity index 81% |
rename from cc/raster/tile_task_worker_pool_perftest.cc |
rename to cc/raster/raster_buffer_provider_perftest.cc |
index 46251dc9a35cbdb932f78514bc776fa0b7a5ba6c..55375f371a122bb46862348da341d5943b3f2fb3 100644 |
--- a/cc/raster/tile_task_worker_pool_perftest.cc |
+++ b/cc/raster/raster_buffer_provider_perftest.cc |
@@ -11,13 +11,13 @@ |
#include "base/time/time.h" |
#include "cc/debug/lap_timer.h" |
#include "cc/output/context_provider.h" |
-#include "cc/raster/bitmap_tile_task_worker_pool.h" |
+#include "cc/raster/bitmap_raster_buffer_provider.h" |
+#include "cc/raster/gpu_raster_buffer_provider.h" |
#include "cc/raster/gpu_rasterizer.h" |
-#include "cc/raster/gpu_tile_task_worker_pool.h" |
-#include "cc/raster/one_copy_tile_task_worker_pool.h" |
+#include "cc/raster/one_copy_raster_buffer_provider.h" |
+#include "cc/raster/raster_buffer_provider.h" |
#include "cc/raster/synchronous_task_graph_runner.h" |
-#include "cc/raster/tile_task_worker_pool.h" |
-#include "cc/raster/zero_copy_tile_task_worker_pool.h" |
+#include "cc/raster/zero_copy_raster_buffer_provider.h" |
#include "cc/resources/resource_pool.h" |
#include "cc/resources/resource_provider.h" |
#include "cc/resources/scoped_resource.h" |
@@ -28,6 +28,7 @@ |
#include "cc/test/test_gpu_memory_buffer_manager.h" |
#include "cc/test/test_shared_bitmap_manager.h" |
#include "cc/test/test_web_graphics_context_3d.h" |
+#include "cc/tiles/tile_task_manager.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "testing/perf/perf_test.h" |
#include "third_party/khronos/GLES2/gl2.h" |
@@ -111,11 +112,11 @@ class PerfContextProvider : public ContextProvider { |
base::Lock context_lock_; |
}; |
-enum TileTaskWorkerPoolType { |
- TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY, |
- TILE_TASK_WORKER_POOL_TYPE_ONE_COPY, |
- TILE_TASK_WORKER_POOL_TYPE_GPU, |
- TILE_TASK_WORKER_POOL_TYPE_BITMAP |
+enum RasterBufferProviderType { |
+ RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, |
+ RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, |
+ RASTER_BUFFER_PROVIDER_TYPE_GPU, |
+ RASTER_BUFFER_PROVIDER_TYPE_BITMAP |
}; |
static const int kTimeLimitMillis = 2000; |
@@ -181,13 +182,13 @@ class PerfRasterTaskImpl : public TileTask { |
DISALLOW_COPY_AND_ASSIGN(PerfRasterTaskImpl); |
}; |
-class TileTaskWorkerPoolPerfTestBase { |
+class RasterBufferProviderPerfTestBase { |
public: |
typedef std::vector<scoped_refptr<TileTask>> RasterTaskVector; |
enum NamedTaskSet { REQUIRED_FOR_ACTIVATION, REQUIRED_FOR_DRAW, ALL }; |
- TileTaskWorkerPoolPerfTestBase() |
+ RasterBufferProviderPerfTestBase() |
: context_provider_(make_scoped_refptr(new PerfContextProvider)), |
task_runner_(new base::TestSimpleTaskRunner), |
task_graph_runner_(new SynchronousTaskGraphRunner), |
@@ -249,47 +250,47 @@ class TileTaskWorkerPoolPerfTestBase { |
LapTimer timer_; |
}; |
-class TileTaskWorkerPoolPerfTest |
- : public TileTaskWorkerPoolPerfTestBase, |
- public testing::TestWithParam<TileTaskWorkerPoolType> { |
+class RasterBufferProviderPerfTest |
+ : public RasterBufferProviderPerfTestBase, |
+ public testing::TestWithParam<RasterBufferProviderType> { |
public: |
// Overridden from testing::Test: |
void SetUp() override { |
+ std::unique_ptr<RasterBufferProvider> raster_buffer_provider; |
switch (GetParam()) { |
- case TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY: |
+ case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: |
Create3dOutputSurfaceAndResourceProvider(); |
- tile_task_worker_pool_ = ZeroCopyTileTaskWorkerPool::Create( |
- task_runner_.get(), task_graph_runner_.get(), |
+ raster_buffer_provider = ZeroCopyRasterBufferProvider::Create( |
resource_provider_.get(), PlatformColor::BestTextureFormat()); |
break; |
- case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY: |
+ case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: |
Create3dOutputSurfaceAndResourceProvider(); |
- tile_task_worker_pool_ = OneCopyTileTaskWorkerPool::Create( |
- task_runner_.get(), task_graph_runner_.get(), |
- context_provider_.get(), resource_provider_.get(), |
- std::numeric_limits<int>::max(), false, |
+ raster_buffer_provider = OneCopyRasterBufferProvider::Create( |
+ task_runner_.get(), context_provider_.get(), |
+ resource_provider_.get(), std::numeric_limits<int>::max(), false, |
std::numeric_limits<int>::max(), |
PlatformColor::BestTextureFormat()); |
break; |
- case TILE_TASK_WORKER_POOL_TYPE_GPU: |
+ case RASTER_BUFFER_PROVIDER_TYPE_GPU: |
Create3dOutputSurfaceAndResourceProvider(); |
- tile_task_worker_pool_ = GpuTileTaskWorkerPool::Create( |
- task_runner_.get(), task_graph_runner_.get(), |
+ raster_buffer_provider = GpuRasterBufferProvider::Create( |
context_provider_.get(), resource_provider_.get(), false, 0); |
break; |
- case TILE_TASK_WORKER_POOL_TYPE_BITMAP: |
+ case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: |
CreateSoftwareOutputSurfaceAndResourceProvider(); |
- tile_task_worker_pool_ = BitmapTileTaskWorkerPool::Create( |
- task_runner_.get(), task_graph_runner_.get(), |
- resource_provider_.get()); |
+ raster_buffer_provider = |
+ BitmapRasterBufferProvider::Create(resource_provider_.get()); |
break; |
} |
- DCHECK(tile_task_worker_pool_); |
+ DCHECK(raster_buffer_provider); |
+ |
+ tile_task_manager_ = TileTaskManagerImpl::Create( |
+ std::move(raster_buffer_provider), task_graph_runner_.get()); |
} |
void TearDown() override { |
- tile_task_worker_pool_->Shutdown(); |
- tile_task_worker_pool_->CheckForCompletedTasks(); |
+ tile_task_manager_->Shutdown(); |
+ tile_task_manager_->CheckForCompletedTasks(); |
} |
void RunMessageLoopUntilAllTasksHaveCompleted() { |
@@ -310,13 +311,13 @@ class TileTaskWorkerPoolPerfTest |
do { |
graph.Reset(); |
BuildTileTaskGraph(&graph, raster_tasks); |
- tile_task_worker_pool_->ScheduleTasks(&graph); |
- tile_task_worker_pool_->CheckForCompletedTasks(); |
+ tile_task_manager_->ScheduleTasks(&graph); |
+ tile_task_manager_->CheckForCompletedTasks(); |
timer_.NextLap(); |
} while (!timer_.HasTimeLimitExpired()); |
TaskGraph empty; |
- tile_task_worker_pool_->ScheduleTasks(&empty); |
+ tile_task_manager_->ScheduleTasks(&empty); |
RunMessageLoopUntilAllTasksHaveCompleted(); |
perf_test::PrintResult("schedule_tasks", TestModifierString(), test_name, |
@@ -341,14 +342,14 @@ class TileTaskWorkerPoolPerfTest |
do { |
graph.Reset(); |
BuildTileTaskGraph(&graph, raster_tasks[count % kNumVersions]); |
- tile_task_worker_pool_->ScheduleTasks(&graph); |
- tile_task_worker_pool_->CheckForCompletedTasks(); |
+ tile_task_manager_->ScheduleTasks(&graph); |
+ tile_task_manager_->CheckForCompletedTasks(); |
++count; |
timer_.NextLap(); |
} while (!timer_.HasTimeLimitExpired()); |
TaskGraph empty; |
- tile_task_worker_pool_->ScheduleTasks(&empty); |
+ tile_task_manager_->ScheduleTasks(&empty); |
RunMessageLoopUntilAllTasksHaveCompleted(); |
perf_test::PrintResult("schedule_alternate_tasks", TestModifierString(), |
@@ -368,13 +369,13 @@ class TileTaskWorkerPoolPerfTest |
do { |
graph.Reset(); |
BuildTileTaskGraph(&graph, raster_tasks); |
- tile_task_worker_pool_->ScheduleTasks(&graph); |
+ tile_task_manager_->ScheduleTasks(&graph); |
RunMessageLoopUntilAllTasksHaveCompleted(); |
timer_.NextLap(); |
} while (!timer_.HasTimeLimitExpired()); |
TaskGraph empty; |
- tile_task_worker_pool_->ScheduleTasks(&empty); |
+ tile_task_manager_->ScheduleTasks(&empty); |
RunMessageLoopUntilAllTasksHaveCompleted(); |
perf_test::PrintResult("schedule_and_execute_tasks", TestModifierString(), |
@@ -399,25 +400,25 @@ class TileTaskWorkerPoolPerfTest |
std::string TestModifierString() const { |
switch (GetParam()) { |
- case TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY: |
- return std::string("_zero_copy_tile_task_worker_pool"); |
- case TILE_TASK_WORKER_POOL_TYPE_ONE_COPY: |
- return std::string("_one_copy_tile_task_worker_pool"); |
- case TILE_TASK_WORKER_POOL_TYPE_GPU: |
- return std::string("_gpu_tile_task_worker_pool"); |
- case TILE_TASK_WORKER_POOL_TYPE_BITMAP: |
- return std::string("_bitmap_tile_task_worker_pool"); |
+ case RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY: |
+ return std::string("_zero_copy_raster_buffer_provider"); |
+ case RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY: |
+ return std::string("_one_copy_raster_buffer_provider"); |
+ case RASTER_BUFFER_PROVIDER_TYPE_GPU: |
+ return std::string("_gpu_raster_buffer_provider"); |
+ case RASTER_BUFFER_PROVIDER_TYPE_BITMAP: |
+ return std::string("_bitmap_raster_buffer_provider"); |
} |
NOTREACHED(); |
return std::string(); |
} |
- std::unique_ptr<TileTaskWorkerPool> tile_task_worker_pool_; |
+ std::unique_ptr<TileTaskManager> tile_task_manager_; |
TestGpuMemoryBufferManager gpu_memory_buffer_manager_; |
TestSharedBitmapManager shared_bitmap_manager_; |
}; |
-TEST_P(TileTaskWorkerPoolPerfTest, ScheduleTasks) { |
+TEST_P(RasterBufferProviderPerfTest, ScheduleTasks) { |
RunScheduleTasksTest("1_0", 1, 0); |
RunScheduleTasksTest("32_0", 32, 0); |
RunScheduleTasksTest("1_1", 1, 1); |
@@ -426,7 +427,7 @@ TEST_P(TileTaskWorkerPoolPerfTest, ScheduleTasks) { |
RunScheduleTasksTest("32_4", 32, 4); |
} |
-TEST_P(TileTaskWorkerPoolPerfTest, ScheduleAlternateTasks) { |
+TEST_P(RasterBufferProviderPerfTest, ScheduleAlternateTasks) { |
RunScheduleAlternateTasksTest("1_0", 1, 0); |
RunScheduleAlternateTasksTest("32_0", 32, 0); |
RunScheduleAlternateTasksTest("1_1", 1, 1); |
@@ -435,7 +436,7 @@ TEST_P(TileTaskWorkerPoolPerfTest, ScheduleAlternateTasks) { |
RunScheduleAlternateTasksTest("32_4", 32, 4); |
} |
-TEST_P(TileTaskWorkerPoolPerfTest, ScheduleAndExecuteTasks) { |
+TEST_P(RasterBufferProviderPerfTest, ScheduleAndExecuteTasks) { |
RunScheduleAndExecuteTasksTest("1_0", 1, 0); |
RunScheduleAndExecuteTasksTest("32_0", 32, 0); |
RunScheduleAndExecuteTasksTest("1_1", 1, 1); |
@@ -444,15 +445,16 @@ TEST_P(TileTaskWorkerPoolPerfTest, ScheduleAndExecuteTasks) { |
RunScheduleAndExecuteTasksTest("32_4", 32, 4); |
} |
-INSTANTIATE_TEST_CASE_P(TileTaskWorkerPoolPerfTests, |
- TileTaskWorkerPoolPerfTest, |
- ::testing::Values(TILE_TASK_WORKER_POOL_TYPE_ZERO_COPY, |
- TILE_TASK_WORKER_POOL_TYPE_ONE_COPY, |
- TILE_TASK_WORKER_POOL_TYPE_GPU, |
- TILE_TASK_WORKER_POOL_TYPE_BITMAP)); |
+INSTANTIATE_TEST_CASE_P(RasterBufferProviderPerfTests, |
+ RasterBufferProviderPerfTest, |
+ ::testing::Values(RASTER_BUFFER_PROVIDER_TYPE_ZERO_COPY, |
+ RASTER_BUFFER_PROVIDER_TYPE_ONE_COPY, |
+ RASTER_BUFFER_PROVIDER_TYPE_GPU, |
+ RASTER_BUFFER_PROVIDER_TYPE_BITMAP)); |
-class TileTaskWorkerPoolCommonPerfTest : public TileTaskWorkerPoolPerfTestBase, |
- public testing::Test { |
+class RasterBufferProviderCommonPerfTest |
+ : public RasterBufferProviderPerfTestBase, |
+ public testing::Test { |
public: |
// Overridden from testing::Test: |
void SetUp() override { |
@@ -483,7 +485,7 @@ class TileTaskWorkerPoolCommonPerfTest : public TileTaskWorkerPoolPerfTestBase, |
} |
}; |
-TEST_F(TileTaskWorkerPoolCommonPerfTest, BuildTileTaskGraph) { |
+TEST_F(RasterBufferProviderCommonPerfTest, BuildTileTaskGraph) { |
RunBuildTileTaskGraphTest("1_0", 1, 0); |
RunBuildTileTaskGraphTest("32_0", 32, 0); |
RunBuildTileTaskGraphTest("1_1", 1, 1); |