OLD | NEW |
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 <limits> | 7 #include <limits> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 settings.create_low_res_tiling = false; | 465 settings.create_low_res_tiling = false; |
466 if (cmd->HasSwitch(cc::switches::kEnableBeginFrameScheduling)) | 466 if (cmd->HasSwitch(cc::switches::kEnableBeginFrameScheduling)) |
467 settings.use_external_begin_frame_source = true; | 467 settings.use_external_begin_frame_source = true; |
468 | 468 |
469 if (widget_->for_oopif()) { | 469 if (widget_->for_oopif()) { |
470 // TODO(simonhong): Apply BeginFrame scheduling for OOPIF. | 470 // TODO(simonhong): Apply BeginFrame scheduling for OOPIF. |
471 // See crbug.com/471411. | 471 // See crbug.com/471411. |
472 settings.use_external_begin_frame_source = false; | 472 settings.use_external_begin_frame_source = false; |
473 } | 473 } |
474 | 474 |
| 475 settings.max_staging_buffers = 32; |
| 476 // Use 1/4th of staging buffers on low-end devices. |
| 477 if (base::SysInfo::IsLowEndDevice()) |
| 478 settings.max_staging_buffers /= 4; |
| 479 |
475 scoped_refptr<base::SingleThreadTaskRunner> compositor_thread_task_runner = | 480 scoped_refptr<base::SingleThreadTaskRunner> compositor_thread_task_runner = |
476 compositor_deps_->GetCompositorImplThreadTaskRunner(); | 481 compositor_deps_->GetCompositorImplThreadTaskRunner(); |
477 scoped_refptr<base::SingleThreadTaskRunner> | 482 scoped_refptr<base::SingleThreadTaskRunner> |
478 main_thread_compositor_task_runner = | 483 main_thread_compositor_task_runner = |
479 compositor_deps_->GetCompositorMainThreadTaskRunner(); | 484 compositor_deps_->GetCompositorMainThreadTaskRunner(); |
480 cc::SharedBitmapManager* shared_bitmap_manager = | 485 cc::SharedBitmapManager* shared_bitmap_manager = |
481 compositor_deps_->GetSharedBitmapManager(); | 486 compositor_deps_->GetSharedBitmapManager(); |
482 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = | 487 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = |
483 compositor_deps_->GetGpuMemoryBufferManager(); | 488 compositor_deps_->GetGpuMemoryBufferManager(); |
484 cc::TaskGraphRunner* task_graph_runner = | 489 cc::TaskGraphRunner* task_graph_runner = |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1034 return; | 1039 return; |
1035 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 1040 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
1036 } | 1041 } |
1037 | 1042 |
1038 void RenderWidgetCompositor::SetSurfaceIdNamespace( | 1043 void RenderWidgetCompositor::SetSurfaceIdNamespace( |
1039 uint32_t surface_id_namespace) { | 1044 uint32_t surface_id_namespace) { |
1040 layer_tree_host_->set_surface_id_namespace(surface_id_namespace); | 1045 layer_tree_host_->set_surface_id_namespace(surface_id_namespace); |
1041 } | 1046 } |
1042 | 1047 |
1043 } // namespace content | 1048 } // namespace content |
OLD | NEW |