Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3724)

Unified Diff: cc/raster/tile_task_worker_pool_perftest.cc

Issue 1866043006: cc: Remove ScheduleOnOriginThread() and CompleteOnOriginThread(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wip - fixed few unit tests Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/raster/tile_task_worker_pool_perftest.cc
diff --git a/cc/raster/tile_task_worker_pool_perftest.cc b/cc/raster/tile_task_worker_pool_perftest.cc
index d2c7e6c50f29d24207040c3b2ea0200831f99c6a..c228c51fa6b3b324407599b1826519e0a4076e43 100644
--- a/cc/raster/tile_task_worker_pool_perftest.cc
+++ b/cc/raster/tile_task_worker_pool_perftest.cc
@@ -131,17 +131,13 @@ class PerfImageDecodeTaskImpl : public ImageDecodeTask {
// Overridden from Task:
void RunOnWorkerThread() override {}
- // Overridden from TileTask:
- void ScheduleOnOriginThread(TileTaskClient* client) override {}
- void CompleteOnOriginThread(TileTaskClient* client) override { Reset(); }
-
void Reset() {
did_run_ = false;
did_complete_ = false;
}
protected:
- ~PerfImageDecodeTaskImpl() override {}
+ ~PerfImageDecodeTaskImpl() override { Reset(); }
private:
DISALLOW_COPY_AND_ASSIGN(PerfImageDecodeTaskImpl);
@@ -150,29 +146,22 @@ class PerfImageDecodeTaskImpl : public ImageDecodeTask {
class PerfRasterTaskImpl : public RasterTask {
public:
PerfRasterTaskImpl(std::unique_ptr<ScopedResource> resource,
+ std::unique_ptr<RasterBuffer> raster_buffer,
ImageDecodeTask::Vector* dependencies)
- : RasterTask(dependencies), resource_(std::move(resource)) {}
+ : RasterTask(dependencies),
+ resource_(std::move(resource)),
+ raster_buffer_(std::move(raster_buffer)) {}
// Overridden from Task:
void RunOnWorkerThread() override {}
- // Overridden from TileTask:
- void ScheduleOnOriginThread(TileTaskClient* client) override {
- // No tile ids are given to support partial updates.
- raster_buffer_ = client->AcquireBufferForRaster(resource_.get(), 0, 0);
- }
- void CompleteOnOriginThread(TileTaskClient* client) override {
- client->ReleaseBufferForRaster(std::move(raster_buffer_));
- Reset();
- }
-
void Reset() {
did_run_ = false;
did_complete_ = false;
}
protected:
- ~PerfRasterTaskImpl() override {}
+ ~PerfRasterTaskImpl() override { Reset(); }
private:
std::unique_ptr<ScopedResource> resource_;
@@ -181,7 +170,7 @@ class PerfRasterTaskImpl : public RasterTask {
DISALLOW_COPY_AND_ASSIGN(PerfRasterTaskImpl);
};
-class TileTaskWorkerPoolPerfTestBase {
+class TileTaskWorkerPoolPerfTestBase : public TileTaskClient {
public:
typedef std::vector<scoped_refptr<RasterTask>> RasterTaskVector;
@@ -195,6 +184,15 @@ class TileTaskWorkerPoolPerfTestBase {
base::TimeDelta::FromMilliseconds(kTimeLimitMillis),
kTimeCheckInterval) {}
+ // Overridden from TileTaskClient:
+ scoped_ptr<RasterBuffer> AcquireBufferForRaster(
+ const Resource* resource,
+ uint64_t resource_content_id,
+ uint64_t previous_content_id) override {
+ return nullptr;
+ }
+ void ReleaseBufferForRaster(scoped_ptr<RasterBuffer> buffer) override {}
+
void CreateImageDecodeTasks(unsigned num_image_decode_tasks,
ImageDecodeTask::Vector* image_decode_tasks) {
for (unsigned i = 0; i < num_image_decode_tasks; ++i)
@@ -211,10 +209,11 @@ class TileTaskWorkerPoolPerfTestBase {
ScopedResource::Create(resource_provider_.get()));
resource->Allocate(size, ResourceProvider::TEXTURE_HINT_IMMUTABLE,
RGBA_8888);
-
ImageDecodeTask::Vector dependencies = image_decode_tasks;
- raster_tasks->push_back(
- new PerfRasterTaskImpl(std::move(resource), &dependencies));
+ scoped_ptr<RasterBuffer> raster_buffer =
+ AcquireBufferForRaster(resource.get(), 0, 0);
+ raster_tasks->push_back(new PerfRasterTaskImpl(
+ std::move(resource), std::move(raster_buffer), &dependencies));
}
}
@@ -288,7 +287,9 @@ class TileTaskWorkerPoolPerfTest
}
void TearDown() override {
tile_task_worker_pool_->AsTileTaskRunner()->Shutdown();
- tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
+ Task::Vector completed_tasks;
+ tile_task_worker_pool_->AsTileTaskRunner()->CollectCompletedTasks(
+ &completed_tasks);
}
void RunMessageLoopUntilAllTasksHaveCompleted() {
@@ -312,7 +313,9 @@ class TileTaskWorkerPoolPerfTest
graph.Reset();
BuildTileTaskGraph(&graph, raster_tasks);
tile_task_worker_pool_->AsTileTaskRunner()->ScheduleTasks(&graph);
- tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
+ Task::Vector completed_tasks;
+ tile_task_worker_pool_->AsTileTaskRunner()->CollectCompletedTasks(
+ &completed_tasks);
timer_.NextLap();
} while (!timer_.HasTimeLimitExpired());
@@ -345,7 +348,9 @@ class TileTaskWorkerPoolPerfTest
graph.Reset();
BuildTileTaskGraph(&graph, raster_tasks[count % kNumVersions]);
tile_task_worker_pool_->AsTileTaskRunner()->ScheduleTasks(&graph);
- tile_task_worker_pool_->AsTileTaskRunner()->CheckForCompletedTasks();
+ Task::Vector completed_tasks;
+ tile_task_worker_pool_->AsTileTaskRunner()->CollectCompletedTasks(
+ &completed_tasks);
++count;
timer_.NextLap();
} while (!timer_.HasTimeLimitExpired());

Powered by Google App Engine
This is Rietveld 408576698