Chromium Code Reviews

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

Issue 548153004: Unified BeginFrame scheduling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git cl format Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 <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 155 matching lines...)
166 CommandLine* cmd = CommandLine::ForCurrentProcess(); 166 CommandLine* cmd = CommandLine::ForCurrentProcess();
167 167
168 cc::LayerTreeSettings settings; 168 cc::LayerTreeSettings settings;
169 169
170 // For web contents, layer transforms should scale up the contents of layers 170 // For web contents, layer transforms should scale up the contents of layers
171 // to keep content always crisp when possible. 171 // to keep content always crisp when possible.
172 settings.layer_transforms_should_scale_layer_contents = true; 172 settings.layer_transforms_should_scale_layer_contents = true;
173 173
174 settings.throttle_frame_production = 174 settings.throttle_frame_production =
175 !cmd->HasSwitch(switches::kDisableGpuVsync); 175 !cmd->HasSwitch(switches::kDisableGpuVsync);
176 settings.begin_frame_scheduling_enabled = 176 #if defined(OS_ANDROID) || (defined(USE_AURA) && !defined(OS_CHROMEOS))
177 cmd->HasSwitch(switches::kEnableBeginFrameScheduling); 177 settings.begin_frame_receiver = true;
178 #elif defined(OS_MACOSX)
179 // Mac only uses browser compositor when delegated renderer is used.
180 if (cmd->HasSwitch(switches::kEnableDelegatedRenderer))
181 settings.begin_frame_receiver = true;
182 #endif
178 settings.main_frame_before_activation_enabled = 183 settings.main_frame_before_activation_enabled =
179 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && 184 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) &&
180 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); 185 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation);
181 settings.main_frame_before_draw_enabled = 186 settings.main_frame_before_draw_enabled =
182 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw); 187 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw);
183 settings.report_overscroll_only_for_scrollable_axes = true; 188 settings.report_overscroll_only_for_scrollable_axes = true;
184 settings.accelerated_animation_enabled = 189 settings.accelerated_animation_enabled =
185 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); 190 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation);
186 191
187 settings.default_tile_size = CalculateDefaultTileSize(); 192 settings.default_tile_size = CalculateDefaultTileSize();
(...skipping 641 matching lines...)
829 widget_->OnSwapBuffersAborted(); 834 widget_->OnSwapBuffersAborted();
830 } 835 }
831 836
832 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { 837 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() {
833 cc::ContextProvider* provider = 838 cc::ContextProvider* provider =
834 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); 839 RenderThreadImpl::current()->SharedMainThreadContextProvider().get();
835 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); 840 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM();
836 } 841 }
837 842
838 } // namespace content 843 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/gpu/render_widget_compositor.h ('k') | content/test/web_layer_tree_view_impl_for_testing.h » ('j') | no next file with comments »

Powered by Google App Engine