| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/thread_proxy.h" | 5 #include "cc/trees/thread_proxy.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
| 10 #include "cc/base/thread.h" | 10 #include "cc/base/thread.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 begin_frame_completion_event_on_impl_thread_(NULL), | 55 begin_frame_completion_event_on_impl_thread_(NULL), |
| 56 readback_request_on_impl_thread_(NULL), | 56 readback_request_on_impl_thread_(NULL), |
| 57 commit_completion_event_on_impl_thread_(NULL), | 57 commit_completion_event_on_impl_thread_(NULL), |
| 58 completion_event_for_commit_held_on_tree_activation_(NULL), | 58 completion_event_for_commit_held_on_tree_activation_(NULL), |
| 59 texture_acquisition_completion_event_on_impl_thread_(NULL), | 59 texture_acquisition_completion_event_on_impl_thread_(NULL), |
| 60 next_frame_is_newly_committed_frame_on_impl_thread_(false), | 60 next_frame_is_newly_committed_frame_on_impl_thread_(false), |
| 61 render_vsync_enabled_(layer_tree_host->settings().render_vsync_enabled), | 61 render_vsync_enabled_(layer_tree_host->settings().render_vsync_enabled), |
| 62 render_vsync_notification_enabled_( | 62 render_vsync_notification_enabled_( |
| 63 layer_tree_host->settings().render_vsync_notification_enabled), | 63 layer_tree_host->settings().render_vsync_notification_enabled), |
| 64 vsync_client_(NULL), | 64 vsync_client_(NULL), |
| 65 enable_synchronous_compositing_( |
| 66 layer_tree_host->settings().enable_synchronous_compositing), |
| 65 inside_draw_(false), | 67 inside_draw_(false), |
| 66 defer_commits_(false), | 68 defer_commits_(false), |
| 67 renew_tree_priority_on_impl_thread_pending_(false) { | 69 renew_tree_priority_on_impl_thread_pending_(false) { |
| 68 TRACE_EVENT0("cc", "ThreadProxy::ThreadProxy"); | 70 TRACE_EVENT0("cc", "ThreadProxy::ThreadProxy"); |
| 69 DCHECK(IsMainThread()); | 71 DCHECK(IsMainThread()); |
| 70 DCHECK(layer_tree_host_); | 72 DCHECK(layer_tree_host_); |
| 71 } | 73 } |
| 72 | 74 |
| 73 ThreadProxy::~ThreadProxy() { | 75 ThreadProxy::~ThreadProxy() { |
| 74 TRACE_EVENT0("cc", "ThreadProxy::~ThreadProxy"); | 76 TRACE_EVENT0("cc", "ThreadProxy::~ThreadProxy"); |
| (...skipping 1032 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1107 DCHECK(IsImplThread()); | 1109 DCHECK(IsImplThread()); |
| 1108 layer_tree_host_impl_ = layer_tree_host_->CreateLayerTreeHostImpl(this); | 1110 layer_tree_host_impl_ = layer_tree_host_->CreateLayerTreeHostImpl(this); |
| 1109 const base::TimeDelta display_refresh_interval = | 1111 const base::TimeDelta display_refresh_interval = |
| 1110 base::TimeDelta::FromMicroseconds( | 1112 base::TimeDelta::FromMicroseconds( |
| 1111 base::Time::kMicrosecondsPerSecond / | 1113 base::Time::kMicrosecondsPerSecond / |
| 1112 layer_tree_host_->settings().refresh_rate); | 1114 layer_tree_host_->settings().refresh_rate); |
| 1113 scoped_ptr<FrameRateController> frame_rate_controller; | 1115 scoped_ptr<FrameRateController> frame_rate_controller; |
| 1114 if (render_vsync_enabled_) { | 1116 if (render_vsync_enabled_) { |
| 1115 if (render_vsync_notification_enabled_) { | 1117 if (render_vsync_notification_enabled_) { |
| 1116 frame_rate_controller.reset( | 1118 frame_rate_controller.reset( |
| 1117 new FrameRateController(VSyncTimeSource::Create(this))); | 1119 new FrameRateController(VSyncTimeSource::Create( |
| 1120 this, |
| 1121 enable_synchronous_compositing_ ? |
| 1122 VSyncTimeSource::DISABLE_SYNCHRONOUSLY : |
| 1123 VSyncTimeSource::DISABLE_ON_NEXT_TICK))); |
| 1118 } else { | 1124 } else { |
| 1119 frame_rate_controller.reset( | 1125 frame_rate_controller.reset( |
| 1120 new FrameRateController(DelayBasedTimeSource::Create( | 1126 new FrameRateController(DelayBasedTimeSource::Create( |
| 1121 display_refresh_interval, Proxy::ImplThread()))); | 1127 display_refresh_interval, Proxy::ImplThread()))); |
| 1122 } | 1128 } |
| 1123 } else { | 1129 } else { |
| 1124 frame_rate_controller.reset(new FrameRateController(Proxy::ImplThread())); | 1130 frame_rate_controller.reset(new FrameRateController(Proxy::ImplThread())); |
| 1125 } | 1131 } |
| 1126 const LayerTreeSettings& settings = layer_tree_host_->settings(); | 1132 const LayerTreeSettings& settings = layer_tree_host_->settings(); |
| 1127 SchedulerSettings scheduler_settings; | 1133 SchedulerSettings scheduler_settings; |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1367 | 1373 |
| 1368 void ThreadProxy::DidReceiveLastInputEventForVSync( | 1374 void ThreadProxy::DidReceiveLastInputEventForVSync( |
| 1369 base::TimeTicks frame_time) { | 1375 base::TimeTicks frame_time) { |
| 1370 if (render_vsync_notification_enabled_) { | 1376 if (render_vsync_notification_enabled_) { |
| 1371 TRACE_EVENT0("cc", "ThreadProxy::DidReceiveLastInputEventForVSync"); | 1377 TRACE_EVENT0("cc", "ThreadProxy::DidReceiveLastInputEventForVSync"); |
| 1372 DidVSync(frame_time); | 1378 DidVSync(frame_time); |
| 1373 } | 1379 } |
| 1374 } | 1380 } |
| 1375 | 1381 |
| 1376 } // namespace cc | 1382 } // namespace cc |
| OLD | NEW |