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

Unified Diff: cc/resources/raster_worker_pool.cc

Issue 73923003: Shared Raster Worker Threads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase for Commit Created 6 years, 11 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/resources/raster_worker_pool.cc
diff --git a/cc/resources/raster_worker_pool.cc b/cc/resources/raster_worker_pool.cc
old mode 100644
new mode 100755
index fd0aaccc2ee7fa260c9d319f191e9f1a4488eb95..4911101d3e1e0500c820942c2c167d6b1a41feea
--- a/cc/resources/raster_worker_pool.cc
+++ b/cc/resources/raster_worker_pool.cc
@@ -373,6 +373,10 @@ class RasterFinishedWorkerPoolTaskImpl : public internal::WorkerPoolTask {
DISALLOW_COPY_AND_ASSIGN(RasterFinishedWorkerPoolTaskImpl);
};
+const int kDefaultNumRasterThreads = 1;
+
+int g_num_raster_threads = 0;
+
class RasterRequiredForActivationFinishedWorkerPoolTaskImpl
: public RasterFinishedWorkerPoolTaskImpl {
public:
@@ -410,7 +414,6 @@ class RasterRequiredForActivationFinishedWorkerPoolTaskImpl
RasterRequiredForActivationFinishedWorkerPoolTaskImpl);
};
-const char* kWorkerThreadNamePrefix = "CompositorRaster";
} // namespace
@@ -556,11 +559,25 @@ RasterWorkerPool::Task RasterWorkerPool::CreateImageDecodeTask(
reply));
}
+// static
+void RasterWorkerPool::SetNumRasterThreads(int num_threads) {
+ DCHECK_LT(0, num_threads);
+ DCHECK_EQ(0, g_num_raster_threads);
+
+ g_num_raster_threads = num_threads;
+}
+
+// static
+int WorkerPool::GetNumRasterThreads() {
+ if (!g_num_raster_threads)
+ g_num_raster_threads = kDefaultNumRasterThreads;
+
+ return g_num_raster_threads;
+}
+
RasterWorkerPool::RasterWorkerPool(ResourceProvider* resource_provider,
- ContextProvider* context_provider,
- size_t num_threads)
- : WorkerPool(num_threads, kWorkerThreadNamePrefix),
- client_(NULL),
+ ContextProvider* context_provider)
+ : client_(NULL),
resource_provider_(resource_provider),
context_provider_(context_provider),
weak_ptr_factory_(this) {

Powered by Google App Engine
This is Rietveld 408576698