summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-08 01:23:15 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-08 01:23:15 +0000
commit7ed8659dfdbe3aee863c6cb13c6e7fa25b25599c (patch)
tree0ba431a39fd262d914b7c8997680a5b86ad90c0d /cc
parent5d36df8a13c2db628a1b123f71cc7edbecebc0a3 (diff)
downloadchromium_src-7ed8659dfdbe3aee863c6cb13c6e7fa25b25599c.zip
chromium_src-7ed8659dfdbe3aee863c6cb13c6e7fa25b25599c.tar.gz
chromium_src-7ed8659dfdbe3aee863c6cb13c6e7fa25b25599c.tar.bz2
cc: Use TestSimpleTaskRunner for RasterWorkerPool perf tests.
This gives us consistent performance numbers across platforms as it prevents base message loop performance from affecting these tests. Note: this will likely affect the performance of schedule_and_execute_tasks_*_raster_worker_pool perf tests. BUG= Review URL: https://codereview.chromium.org/335283004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@281621 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc')
-rw-r--r--cc/resources/raster_worker_pool_perftest.cc28
1 files changed, 15 insertions, 13 deletions
diff --git a/cc/resources/raster_worker_pool_perftest.cc b/cc/resources/raster_worker_pool_perftest.cc
index 320f573..6d922ed 100644
--- a/cc/resources/raster_worker_pool_perftest.cc
+++ b/cc/resources/raster_worker_pool_perftest.cc
@@ -4,6 +4,7 @@
#include "cc/resources/raster_worker_pool.h"
+#include "base/test/test_simple_task_runner.h"
#include "base/time/time.h"
#include "cc/debug/lap_timer.h"
#include "cc/output/context_provider.h"
@@ -148,6 +149,7 @@ class RasterWorkerPoolPerfTestBase {
RasterWorkerPoolPerfTestBase()
: context_provider_(make_scoped_refptr(new PerfContextProvider)),
+ task_runner_(new base::TestSimpleTaskRunner),
task_graph_runner_(new TaskGraphRunner),
timer_(kWarmupRuns,
base::TimeDelta::FromMilliseconds(kTimeLimitMillis),
@@ -203,6 +205,7 @@ class RasterWorkerPoolPerfTestBase {
scoped_ptr<SharedBitmapManager> shared_bitmap_manager_;
scoped_ptr<ResourceProvider> resource_provider_;
scoped_ptr<ResourcePool> staging_resource_pool_;
+ scoped_refptr<base::TestSimpleTaskRunner> task_runner_;
scoped_ptr<TaskGraphRunner> task_graph_runner_;
LapTimer timer_;
};
@@ -216,27 +219,27 @@ class RasterWorkerPoolPerfTest
switch (GetParam()) {
case RASTER_WORKER_POOL_TYPE_PIXEL_BUFFER:
raster_worker_pool_ = PixelBufferRasterWorkerPool::Create(
- base::MessageLoopProxy::current().get(),
+ task_runner_.get(),
task_graph_runner_.get(),
resource_provider_.get(),
std::numeric_limits<size_t>::max());
break;
case RASTER_WORKER_POOL_TYPE_IMAGE:
- raster_worker_pool_ = ImageRasterWorkerPool::Create(
- base::MessageLoopProxy::current().get(),
- task_graph_runner_.get(),
- resource_provider_.get());
+ raster_worker_pool_ =
+ ImageRasterWorkerPool::Create(task_runner_.get(),
+ task_graph_runner_.get(),
+ resource_provider_.get());
break;
case RASTER_WORKER_POOL_TYPE_IMAGE_COPY:
- raster_worker_pool_ = ImageCopyRasterWorkerPool::Create(
- base::MessageLoopProxy::current().get(),
- task_graph_runner_.get(),
- resource_provider_.get(),
- staging_resource_pool_.get());
+ raster_worker_pool_ =
+ ImageCopyRasterWorkerPool::Create(task_runner_.get(),
+ task_graph_runner_.get(),
+ resource_provider_.get(),
+ staging_resource_pool_.get());
break;
case RASTER_WORKER_POOL_TYPE_GPU:
raster_worker_pool_ = GpuRasterWorkerPool::Create(
- base::MessageLoopProxy::current().get(), resource_provider_.get());
+ task_runner_.get(), resource_provider_.get());
break;
}
@@ -257,13 +260,12 @@ class RasterWorkerPoolPerfTest
}
virtual void DidFinishRunningTasks() OVERRIDE {
raster_worker_pool_->AsRasterizer()->CheckForCompletedTasks();
- base::MessageLoop::current()->Quit();
}
virtual void DidFinishRunningTasksRequiredForActivation() OVERRIDE {}
void RunMessageLoopUntilAllTasksHaveCompleted() {
task_graph_runner_->RunUntilIdle();
- base::MessageLoop::current()->Run();
+ task_runner_->RunUntilIdle();
}
void RunScheduleTasksTest(const std::string& test_name,