Index: cc/trees/layer_tree_host_impl.cc |
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc |
index c6f03a8d14e466daf00d3e6d589c84f22d2a2c3d..05b6b2aadc147f9a0412572046d7014ce6e6d836 100644 |
--- a/cc/trees/layer_tree_host_impl.cc |
+++ b/cc/trees/layer_tree_host_impl.cc |
@@ -1856,8 +1856,11 @@ bool LayerTreeHostImpl::InitializeRenderer( |
GetRendererCapabilities().allow_rasterize_on_demand); |
} |
- // Setup BeginFrameEmulation if it's not supported natively |
- if (!settings_.begin_impl_frame_scheduling_enabled) { |
+ if (!settings_.throttle_frame_production) { |
+ // Disable VSync |
+ output_surface->SetThrottleFrameProduction(false); |
+ } else if (!settings_.begin_impl_frame_scheduling_enabled) { |
+ // Setup BeginFrameEmulation if it's not supported natively |
const base::TimeDelta display_refresh_interval = |
base::TimeDelta::FromMicroseconds( |
base::Time::kMicrosecondsPerSecond / |
@@ -1865,7 +1868,6 @@ bool LayerTreeHostImpl::InitializeRenderer( |
output_surface->InitializeBeginFrameEmulation( |
proxy_->ImplThreadTaskRunner(), |
- settings_.throttle_frame_production, |
display_refresh_interval); |
} |
@@ -1873,7 +1875,7 @@ bool LayerTreeHostImpl::InitializeRenderer( |
output_surface->capabilities().max_frames_pending; |
if (max_frames_pending <= 0) |
max_frames_pending = OutputSurface::DEFAULT_MAX_FRAMES_PENDING; |
- output_surface->SetMaxFramesPending(max_frames_pending); |
+ client_->SetMaxSwapsPending(max_frames_pending); |
resource_provider_ = resource_provider.Pass(); |
output_surface_ = output_surface.Pass(); |