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

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

Issue 2296353002: Revert of Remove default begin frame sources from the renderer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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 | « content/renderer/gpu/compositor_output_surface.cc ('k') | no next file » | 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 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 params.shared_bitmap_manager = compositor_deps_->GetSharedBitmapManager(); 237 params.shared_bitmap_manager = compositor_deps_->GetSharedBitmapManager();
238 params.gpu_memory_buffer_manager = 238 params.gpu_memory_buffer_manager =
239 compositor_deps_->GetGpuMemoryBufferManager(); 239 compositor_deps_->GetGpuMemoryBufferManager();
240 params.settings = &settings; 240 params.settings = &settings;
241 params.task_graph_runner = compositor_deps_->GetTaskGraphRunner(); 241 params.task_graph_runner = compositor_deps_->GetTaskGraphRunner();
242 params.main_task_runner = 242 params.main_task_runner =
243 compositor_deps_->GetCompositorMainThreadTaskRunner(); 243 compositor_deps_->GetCompositorMainThreadTaskRunner();
244 if (settings.use_external_begin_frame_source) { 244 if (settings.use_external_begin_frame_source) {
245 params.external_begin_frame_source = 245 params.external_begin_frame_source =
246 delegate_->CreateExternalBeginFrameSource(); 246 delegate_->CreateExternalBeginFrameSource();
247 } else {
248 DCHECK(settings.use_output_surface_begin_frame_source);
249 } 247 }
250 params.animation_host = cc::AnimationHost::CreateMainInstance(); 248 params.animation_host = cc::AnimationHost::CreateMainInstance();
251 249
252 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) { 250 if (cmd->HasSwitch(switches::kUseRemoteCompositing)) {
253 DCHECK(!threaded_); 251 DCHECK(!threaded_);
254 params.image_serialization_processor = 252 params.image_serialization_processor =
255 compositor_deps_->GetImageSerializationProcessor(); 253 compositor_deps_->GetImageSerializationProcessor();
256 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params); 254 layer_tree_host_ = cc::LayerTreeHost::CreateRemoteServer(this, &params);
257 } else if (!threaded_) { 255 } else if (!threaded_) {
258 // Single-threaded layout tests. 256 // Single-threaded layout tests.
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 // raster-on-demand already, so now we reserve 50% _only_ to avoid 429 // raster-on-demand already, so now we reserve 50% _only_ to avoid
432 // raster-on-demand, and use 50% of the memory otherwise. 430 // raster-on-demand, and use 50% of the memory otherwise.
433 settings.max_memory_for_prepaint_percentage = 50; 431 settings.max_memory_for_prepaint_percentage = 50;
434 } 432 }
435 // Webview does not own the surface so should not clear it. 433 // Webview does not own the surface so should not clear it.
436 settings.renderer_settings.should_clear_root_render_pass = 434 settings.renderer_settings.should_clear_root_render_pass =
437 !using_synchronous_compositor; 435 !using_synchronous_compositor;
438 436
439 // TODO(danakj): Only do this on low end devices. 437 // TODO(danakj): Only do this on low end devices.
440 settings.create_low_res_tiling = true; 438 settings.create_low_res_tiling = true;
439
440 settings.use_external_begin_frame_source = true;
441
441 #else // defined(OS_ANDROID) 442 #else // defined(OS_ANDROID)
442 #if !defined(OS_MACOSX) 443 #if !defined(OS_MACOSX)
443 if (ui::ShouldHideScrollbars()) { 444 if (ui::ShouldHideScrollbars()) {
444 settings.scrollbar_animator = cc::LayerTreeSettings::NO_ANIMATOR; 445 settings.scrollbar_animator = cc::LayerTreeSettings::NO_ANIMATOR;
445 settings.solid_color_scrollbar_color = SK_ColorTRANSPARENT; 446 settings.solid_color_scrollbar_color = SK_ColorTRANSPARENT;
446 } else if (ui::IsOverlayScrollbarEnabled()) { 447 } else if (ui::IsOverlayScrollbarEnabled()) {
447 settings.scrollbar_animator = cc::LayerTreeSettings::THINNING; 448 settings.scrollbar_animator = cc::LayerTreeSettings::THINNING;
448 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128); 449 settings.solid_color_scrollbar_color = SkColorSetARGB(128, 128, 128, 128);
449 } else { 450 } else {
450 settings.scrollbar_animator = cc::LayerTreeSettings::LINEAR_FADE; 451 settings.scrollbar_animator = cc::LayerTreeSettings::LINEAR_FADE;
(...skipping 16 matching lines...) Expand all
467 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024; 468 settings.gpu_decoded_image_budget_bytes = 96 * 1024 * 1024;
468 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024; 469 settings.software_decoded_image_budget_bytes = 128 * 1024 * 1024;
469 } 470 }
470 471
471 #endif // defined(OS_ANDROID) 472 #endif // defined(OS_ANDROID)
472 473
473 if (cmd.HasSwitch(switches::kEnableLowResTiling)) 474 if (cmd.HasSwitch(switches::kEnableLowResTiling))
474 settings.create_low_res_tiling = true; 475 settings.create_low_res_tiling = true;
475 if (cmd.HasSwitch(switches::kDisableLowResTiling)) 476 if (cmd.HasSwitch(switches::kDisableLowResTiling))
476 settings.create_low_res_tiling = false; 477 settings.create_low_res_tiling = false;
477 478 settings.use_external_begin_frame_source = true;
478 // TODO(enne): fold external BFS into output surface BFS.
479 if (cmd.HasSwitch(switches::kUseRemoteCompositing)) {
480 settings.use_output_surface_begin_frame_source = true;
481 settings.use_external_begin_frame_source = false;
482 } else {
483 settings.use_output_surface_begin_frame_source = false;
484 settings.use_external_begin_frame_source = true;
485 }
486 479
487 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) && 480 if (cmd.HasSwitch(switches::kEnableRGBA4444Textures) &&
488 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) { 481 !cmd.HasSwitch(switches::kDisableRGBA4444Textures)) {
489 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444; 482 settings.renderer_settings.preferred_tile_format = cc::RGBA_4444;
490 } 483 }
491 484
492 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) { 485 if (cmd.HasSwitch(cc::switches::kEnableTileCompression)) {
493 settings.renderer_settings.preferred_tile_format = cc::ETC1; 486 settings.renderer_settings.preferred_tile_format = cc::ETC1;
494 } 487 }
495 488
496 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB 489 settings.max_staging_buffer_usage_in_bytes = 32 * 1024 * 1024; // 32MB
497 // Use 1/4th of staging buffers on low-end devices. 490 // Use 1/4th of staging buffers on low-end devices.
498 if (base::SysInfo::IsLowEndDevice()) 491 if (base::SysInfo::IsLowEndDevice())
499 settings.max_staging_buffer_usage_in_bytes /= 4; 492 settings.max_staging_buffer_usage_in_bytes /= 4;
500 493
501 cc::ManagedMemoryPolicy current = settings.memory_policy_; 494 cc::ManagedMemoryPolicy current = settings.memory_policy_;
502 settings.memory_policy_ = GetGpuMemoryPolicy(current); 495 settings.memory_policy_ = GetGpuMemoryPolicy(current);
503 496
504 settings.use_cached_picture_raster = 497 settings.use_cached_picture_raster =
505 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster); 498 !cmd.HasSwitch(cc::switches::kDisableCachedPictureRaster);
506 499
500 if (cmd.HasSwitch(switches::kUseRemoteCompositing))
501 settings.use_external_begin_frame_source = false;
502
507 return settings; 503 return settings;
508 } 504 }
509 505
510 // static 506 // static
511 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy( 507 cc::ManagedMemoryPolicy RenderWidgetCompositor::GetGpuMemoryPolicy(
512 const cc::ManagedMemoryPolicy& policy) { 508 const cc::ManagedMemoryPolicy& policy) {
513 cc::ManagedMemoryPolicy actual = policy; 509 cc::ManagedMemoryPolicy actual = policy;
514 actual.bytes_limit_when_visible = 0; 510 actual.bytes_limit_when_visible = 0;
515 511
516 // If the value was overridden on the command line, use the specified value. 512 // If the value was overridden on the command line, use the specified value.
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
1141 1137
1142 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized)); 1138 remote_proto_channel_receiver_->OnProtoReceived(std::move(deserialized));
1143 } 1139 }
1144 1140
1145 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor( 1141 void RenderWidgetCompositor::SetPaintedDeviceScaleFactor(
1146 float device_scale) { 1142 float device_scale) {
1147 layer_tree_host_->GetLayerTree()->SetPaintedDeviceScaleFactor(device_scale); 1143 layer_tree_host_->GetLayerTree()->SetPaintedDeviceScaleFactor(device_scale);
1148 } 1144 }
1149 1145
1150 } // namespace content 1146 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/compositor_output_surface.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698