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

Unified Diff: cc/raster/one_copy_tile_task_worker_pool.cc

Issue 1159833002: content: Partial copy workaround for devices with known upload performance problems. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sort Created 5 years, 6 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
« no previous file with comments | « cc/raster/one_copy_tile_task_worker_pool.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/raster/one_copy_tile_task_worker_pool.cc
diff --git a/cc/raster/one_copy_tile_task_worker_pool.cc b/cc/raster/one_copy_tile_task_worker_pool.cc
index dd8937c483d2cb6b778c6dd03e6b674cbb0b64ec..9a31f6ab0adabe43f99f1b281e5f81860d925e35 100644
--- a/cc/raster/one_copy_tile_task_worker_pool.cc
+++ b/cc/raster/one_copy_tile_task_worker_pool.cc
@@ -109,6 +109,10 @@ const int kCheckForCompletedCopyOperationsTickRateMs = 1;
// wait for copy operations to complete if needed.
const int kFailedAttemptsBeforeWaitIfNeeded = 256;
+// 4MiB is the size of 4 512x512 tiles, which has proven to be a good
+// default batch size for copy operations.
+const int kMaxBytesPerCopyOperation = 1024 * 1024 * 4;
+
} // namespace
OneCopyTileTaskWorkerPool::CopyOperation::CopyOperation(
@@ -129,11 +133,11 @@ scoped_ptr<TileTaskWorkerPool> OneCopyTileTaskWorkerPool::Create(
ContextProvider* context_provider,
ResourceProvider* resource_provider,
ResourcePool* resource_pool,
- int max_bytes_per_copy_operation,
+ int max_copy_texture_chromium_size,
bool have_persistent_gpu_memory_buffers) {
return make_scoped_ptr<TileTaskWorkerPool>(new OneCopyTileTaskWorkerPool(
task_runner, task_graph_runner, context_provider, resource_provider,
- resource_pool, max_bytes_per_copy_operation,
+ resource_pool, max_copy_texture_chromium_size,
have_persistent_gpu_memory_buffers));
}
@@ -143,7 +147,7 @@ OneCopyTileTaskWorkerPool::OneCopyTileTaskWorkerPool(
ContextProvider* context_provider,
ResourceProvider* resource_provider,
ResourcePool* resource_pool,
- int max_bytes_per_copy_operation,
+ int max_copy_texture_chromium_size,
bool have_persistent_gpu_memory_buffers)
: task_runner_(task_runner),
task_graph_runner_(task_graph_runner),
@@ -151,7 +155,11 @@ OneCopyTileTaskWorkerPool::OneCopyTileTaskWorkerPool(
context_provider_(context_provider),
resource_provider_(resource_provider),
resource_pool_(resource_pool),
- max_bytes_per_copy_operation_(max_bytes_per_copy_operation),
+ max_bytes_per_copy_operation_(
+ max_copy_texture_chromium_size
+ ? std::min(kMaxBytesPerCopyOperation,
+ max_copy_texture_chromium_size)
+ : kMaxBytesPerCopyOperation),
have_persistent_gpu_memory_buffers_(have_persistent_gpu_memory_buffers),
last_issued_copy_operation_(0),
last_flushed_copy_operation_(0),
« no previous file with comments | « cc/raster/one_copy_tile_task_worker_pool.h ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698