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

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

Issue 2083423006: Remove default begin frame sources from the renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: danakj comments 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 | « cc/trees/single_thread_proxy.cc ('k') | 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 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 if (settings.use_external_begin_frame_source) { 243 if (settings.use_external_begin_frame_source) {
244 params.external_begin_frame_source = 244 params.external_begin_frame_source =
245 delegate_->CreateExternalBeginFrameSource(); 245 delegate_->CreateExternalBeginFrameSource();
246 } else {
247 DCHECK(settings.use_output_surface_begin_frame_source);
246 } 248 }
247 params.animation_host = cc::AnimationHost::CreateMainInstance(); 249 params.animation_host = cc::AnimationHost::CreateMainInstance();
248 250
249 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) { 251 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) {
250 DCHECK(!threaded_); 252 DCHECK(!threaded_);
251 params.image_serialization_processor = 253 params.image_serialization_processor =
252 compositor_deps_->GetImageSerializationProcessor(); 254 compositor_deps_->GetImageSerializationProcessor();
253 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params); 255 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params);
254 } else if (!threaded_) { 256 } else if (!threaded_) {
255 // Single-threaded layout tests. 257 // Single-threaded layout tests.
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 // raster-on-demand, and use 50% of the memory otherwise. 446 // raster-on-demand, and use 50% of the memory otherwise.
445 settings.max_memory_for_prepaint_percentage = 50; 447 settings.max_memory_for_prepaint_percentage = 50;
446 } 448 }
447 // Webview does not own the surface so should not clear it. 449 // Webview does not own the surface so should not clear it.
448 settings.renderer_settings.should_clear_root_render_pass = 450 settings.renderer_settings.should_clear_root_render_pass =
449 !using_synchronous_compositor; 451 !using_synchronous_compositor;
450 452
451 // TODO(danakj): Only do this on low end devices. 453 // TODO(danakj): Only do this on low end devices.
452 settings.create_low_res_tiling = true; 454 settings.create_low_res_tiling = true;
453 455
454 settings.use_external_begin_frame_source = true; 456 // TODO(enne): fold external BFS into output surface BFS.
457 if (command_line->HasSwitch(switches::kUseRemoteCompositing)) {
danakj 2016/08/16 17:47:25 cmd.HasSwitch
458 settings.use_output_surface_begin_frame_source = true;
459 settings.use_external_begin_frame_source = false;
460 } else {
461 settings.use_output_surface_begin_frame_source = false;
462 settings.use_external_begin_frame_source = true;
463 }
455 464
456 #else // defined(OS_ANDROID) 465 #else // defined(OS_ANDROID)
457 #if !defined(OS_MACOSX) 466 #if !defined(OS_MACOSX)
458 if (ui::ShouldHideScrollbars()) { 467 if (ui::ShouldHideScrollbars()) {
459 settings.scrollbar_animator = cc::LayerTreeSettings::NO_ANIMATOR; 468 settings.scrollbar_animator = cc::LayerTreeSettings::NO_ANIMATOR;
460 settings.solid_color_scrollbar_color = SK_ColorTRANSPARENT; 469 settings.solid_color_scrollbar_color = SK_ColorTRANSPARENT;
461 } else if (ui::IsOverlayScrollbarEnabled()) { 470 } else if (ui::IsOverlayScrollbarEnabled()) {
462 settings.scrollbar_animator = cc::LayerTreeSettings::THINNING; 471 settings.scrollbar_animator = cc::LayerTreeSettings::THINNING;
463 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128); 472 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128);
464 } else { 473 } else {
(...skipping 17 matching lines...) Expand all
482 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024; 491 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024;
483 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024; 492 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024;
484 } 493 }
485 494
486 #endif // defined(OS_ANDROID) 495 #endif // defined(OS_ANDROID)
487 496
488 if (cmd.HasSwitch(switches::kEnableLowResTiling)) 497 if (cmd.HasSwitch(switches::kEnableLowResTiling))
489 settings.create_low_res_tiling = true; 498 settings.create_low_res_tiling = true;
490 if (cmd.HasSwitch(switches::kDisableLowResTiling)) 499 if (cmd.HasSwitch(switches::kDisableLowResTiling))
491 settings.create_low_res_tiling = false; 500 settings.create_low_res_tiling = false;
492 if (!cmd.HasSwitch(cc::switches::kDisableBeginFrameScheduling))
493 settings.use_external_begin_frame_source = true;
494 501
495 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) && 502 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) &&
496 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) { 503 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) {
497 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444; 504 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444;
498 } 505 }
499 506
500 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) { 507 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) {
501 settings.renderer_settings.preferred_tile_format = cc::ETC1; 508 settings.renderer_settings.preferred_tile_format = cc::ETC1;
502 } 509 }
503 510
504 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB 511 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB
505 // Use 1/4th of staging buffers on low-end devices. 512 // Use 1/4th of staging buffers on low-end devices.
506 if (base::SysInfo::IsLowEndDevice()) 513 if (base::SysInfo::IsLowEndDevice())
507 settings.max_staging_buffer_usage_in_bytes /= 4; 514 settings.max_staging_buffer_usage_in_bytes /= 4;
508 515
509 cc::ManagedMemoryPolicy current = settings.memory_policy_; 516 cc::ManagedMemoryPolicy current = settings.memory_policy_;
510 settings.memory_policy_ = GetGpuMemoryPolicy(current); 517 settings.memory_policy_ = GetGpuMemoryPolicy(current);
511 518
512 settings.use_cached_picture_raster = 519 settings.use_cached_picture_raster =
513 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster); 520 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster);
514 521
515 if (cmd.HasSwitch(switches::kUseRemoteCompositing) ||
516 cmd.HasSwitch(switches::kIsRunningInMash))
517 settings.use_external_begin_frame_source = false;
518
519 return settings; 522 return settings;
520 } 523 }
521 524
522 // static 525 // static
523 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy( 526 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy(
524 const cc::ManagedMemoryPolicy& policy) { 527 const cc::ManagedMemoryPolicy& policy) {
525 cc::ManagedMemoryPolicy actual = policy; 528 cc::ManagedMemoryPolicy actual = policy;
526 actual.bytes_limit_when_visible = 0; 529 actual.bytes_limit_when_visible = 0;
527 530
528 // If the value was overridden on the command line, use the specified value. 531 // 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
1146 1149
1147 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); 1150 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized));
1148 } 1151 }
1149 1152
1150 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( 1153 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor(
1151 float device_scale) { 1154 float device_scale) {
1152 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale); 1155 layer_tree_host_->SetPaintedDeviceScaleFactor(device_scale);
1153 } 1156 }
1154 1157
1155 } // namespace content 1158 } // namespace content
OLDNEW
« no previous file with comments | « cc/trees/single_thread_proxy.cc ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698