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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 2241083002: Revert of Always use an external begin frame source in the renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 GenerateLayerTreeSettings(*cmd, compositor_deps_, device_scale_factor); 233 GenerateLayerTreeSettings(*cmd, compositor_deps_, device_scale_factor);
234 cc::LayerTreeHost::InitParams params; 234 cc::LayerTreeHost::InitParams params;
235 params.client = this; 235 params.client = this;
236 params.shared_bitmap_manager = compositor_deps_->GetSharedBitmapManager(); 236 params.shared_bitmap_manager = compositor_deps_->GetSharedBitmapManager();
237 params.gpu_memory_buffer_manager = 237 params.gpu_memory_buffer_manager =
238 compositor_deps_->GetGpuMemoryBufferManager(); 238 compositor_deps_->GetGpuMemoryBufferManager();
239 params.settings = &settings; 239 params.settings = &settings;
240 params.task_graph_runner = compositor_deps_->GetTaskGraphRunner(); 240 params.task_graph_runner = compositor_deps_->GetTaskGraphRunner();
241 params.main_task_runner = 241 params.main_task_runner =
242 compositor_deps_->GetCompositorMainThreadTaskRunner(); 242 compositor_deps_->GetCompositorMainThreadTaskRunner();
243 params.external_begin_frame_source = 243 if (settings.use_external_begin_frame_source) {
244 delegate_->CreateExternalBeginFrameSource(); 244 params.external_begin_frame_source =
245 delegate_->CreateExternalBeginFrameSource();
246 }
245 params.animation_host = cc::AnimationHost::CreateMainInstance(); 247 params.animation_host = cc::AnimationHost::CreateMainInstance();
246 248
247 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) { 249 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) {
248 DCHECK(!threaded_); 250 DCHECK(!threaded_);
249 params.image_serialization_processor = 251 params.image_serialization_processor =
250 compositor_deps_->GetImageSerializationProcessor(); 252 compositor_deps_->GetImageSerializationProcessor();
251 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params); 253 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params);
252 } else if (!threaded_) { 254 } else if (!threaded_) {
253 // Single-threaded layout tests. 255 // Single-threaded layout tests.
254 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded(this, &params); 256 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded(this, &params);
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024; 482 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024;
481 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024; 483 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024;
482 } 484 }
483 485
484 #endif // defined(OS_ANDROID) 486 #endif // defined(OS_ANDROID)
485 487
486 if (cmd.HasSwitch(switches::kEnableLowResTiling)) 488 if (cmd.HasSwitch(switches::kEnableLowResTiling))
487 settings.create_low_res_tiling = true; 489 settings.create_low_res_tiling = true;
488 if (cmd.HasSwitch(switches::kDisableLowResTiling)) 490 if (cmd.HasSwitch(switches::kDisableLowResTiling))
489 settings.create_low_res_tiling = false; 491 settings.create_low_res_tiling = false;
492 if (!cmd.HasSwitch(cc::switches::kDisableBeginFrameScheduling))
493 settings.use_external_begin_frame_source = true;
490 494
491 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) && 495 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) &&
492 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) { 496 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) {
493 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444; 497 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444;
494 } 498 }
495 499
496 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) { 500 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) {
497 settings.renderer_settings.preferred_tile_format = cc::ETC1; 501 settings.renderer_settings.preferred_tile_format = cc::ETC1;
498 } 502 }
499 503
500 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB 504 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB
501 // Use 1/4th of staging buffers on low-end devices. 505 // Use 1/4th of staging buffers on low-end devices.
502 if (base::SysInfo::IsLowEndDevice()) 506 if (base::SysInfo::IsLowEndDevice())
503 settings.max_staging_buffer_usage_in_bytes /= 4; 507 settings.max_staging_buffer_usage_in_bytes /= 4;
504 508
505 cc::ManagedMemoryPolicy current = settings.memory_policy_; 509 cc::ManagedMemoryPolicy current = settings.memory_policy_;
506 settings.memory_policy_ = GetGpuMemoryPolicy(current); 510 settings.memory_policy_ = GetGpuMemoryPolicy(current);
507 511
508 settings.use_cached_picture_raster = 512 settings.use_cached_picture_raster =
509 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster); 513 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster);
510 514
515 if (cmd.HasSwitch(switches::kUseRemoteCompositing) ||
516 cmd.HasSwitch(switches::kIsRunningInMash))
517 settings.use_external_begin_frame_source = false;
518
511 return settings; 519 return settings;
512 } 520 }
513 521
514 // static 522 // static
515 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy( 523 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy(
516 const cc::ManagedMemoryPolicy& policy) { 524 const cc::ManagedMemoryPolicy& policy) {
517 cc::ManagedMemoryPolicy actual = policy; 525 cc::ManagedMemoryPolicy actual = policy;
518 actual.bytes_limit_when_visible = 0; 526 actual.bytes_limit_when_visible = 0;
519 527
520 // If the value was overridden on the command line, use the specified value. 528 // If the value was overridden on the command line, use the specified value.
(...skipping 617 matching lines...) Expand 10 before | Expand all | Expand 10 after
1138 1146
1139 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); 1147 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized));
1140 } 1148 }
1141 1149
1142 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( 1150 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor(
1143 float device_scale) { 1151 float device_scale) {
1144 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale); 1152 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale);
1145 } 1153 }
1146 1154
1147 } // namespace content 1155 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698