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 "config.h" | 5 #include "config.h" |
6 | 6 |
7 #include "CCSingleThreadProxy.h" | 7 #include "CCSingleThreadProxy.h" |
8 | 8 |
9 #include "CCDrawQuad.h" | 9 #include "CCDrawQuad.h" |
| 10 #include "CCFrameRateCounter.h" |
10 #include "CCGraphicsContext.h" | 11 #include "CCGraphicsContext.h" |
11 #include "CCLayerTreeHost.h" | 12 #include "CCLayerTreeHost.h" |
12 #include "CCTextureUpdateController.h" | 13 #include "CCTextureUpdateController.h" |
13 #include "CCTimer.h" | 14 #include "CCTimer.h" |
14 #include "TraceEvent.h" | 15 #include "TraceEvent.h" |
15 #include <wtf/CurrentTime.h> | 16 #include <wtf/CurrentTime.h> |
16 | 17 |
17 using namespace WTF; | 18 using namespace WTF; |
18 | 19 |
19 namespace cc { | 20 namespace cc { |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 bool CCSingleThreadProxy::initializeRenderer() | 111 bool CCSingleThreadProxy::initializeRenderer() |
111 { | 112 { |
112 ASSERT(CCProxy::isMainThread()); | 113 ASSERT(CCProxy::isMainThread()); |
113 ASSERT(m_contextBeforeInitialization.get()); | 114 ASSERT(m_contextBeforeInitialization.get()); |
114 { | 115 { |
115 DebugScopedSetImplThread impl; | 116 DebugScopedSetImplThread impl; |
116 bool ok = m_layerTreeHostImpl->initializeRenderer(m_contextBeforeInitial
ization.Pass()); | 117 bool ok = m_layerTreeHostImpl->initializeRenderer(m_contextBeforeInitial
ization.Pass()); |
117 if (ok) { | 118 if (ok) { |
118 m_rendererInitialized = true; | 119 m_rendererInitialized = true; |
119 m_RendererCapabilitiesForMainThread = m_layerTreeHostImpl->rendererC
apabilities(); | 120 m_RendererCapabilitiesForMainThread = m_layerTreeHostImpl->rendererC
apabilities(); |
| 121 onVSyncParametersChanged(0, 1.0/60.0); |
120 } | 122 } |
121 | 123 |
122 return ok; | 124 return ok; |
123 } | 125 } |
124 } | 126 } |
125 | 127 |
126 bool CCSingleThreadProxy::recreateContext() | 128 bool CCSingleThreadProxy::recreateContext() |
127 { | 129 { |
128 TRACE_EVENT0("cc", "CCSingleThreadProxy::recreateContext"); | 130 TRACE_EVENT0("cc", "CCSingleThreadProxy::recreateContext"); |
129 ASSERT(CCProxy::isMainThread()); | 131 ASSERT(CCProxy::isMainThread()); |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 if (m_rendererInitialized) | 305 if (m_rendererInitialized) |
304 m_layerTreeHostImpl->renderer()->doNoOp(); | 306 m_layerTreeHostImpl->renderer()->doNoOp(); |
305 } | 307 } |
306 } | 308 } |
307 | 309 |
308 void CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread() | 310 void CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread() |
309 { | 311 { |
310 ASSERT_NOT_REACHED(); | 312 ASSERT_NOT_REACHED(); |
311 } | 313 } |
312 | 314 |
| 315 void CCSingleThreadProxy::onVSyncParametersChanged(double monotonicTimebase, dou
ble intervalInSeconds) |
| 316 { |
| 317 TRACE_EVENT2("cc", "CCSingleThreadProxy::onVSyncParametersChanged", "monoton
icTimebase", monotonicTimebase, "intervalInSeconds", intervalInSeconds); |
| 318 base::TimeTicks timebase = base::TimeTicks::FromInternalValue(monotonicTimeb
ase * base::Time::kMicrosecondsPerSecond); |
| 319 base::TimeDelta interval = base::TimeDelta::FromMicroseconds(intervalInSecon
ds * base::Time::kMicrosecondsPerSecond); |
| 320 m_layerTreeHostImpl->fpsCounter()->setTimebaseAndInterval(timebase, interval
); |
| 321 } |
| 322 |
313 bool CCSingleThreadProxy::commitAndComposite() | 323 bool CCSingleThreadProxy::commitAndComposite() |
314 { | 324 { |
315 ASSERT(CCProxy::isMainThread()); | 325 ASSERT(CCProxy::isMainThread()); |
316 | 326 |
317 if (!m_layerTreeHost->initializeRendererIfNeeded()) | 327 if (!m_layerTreeHost->initializeRendererIfNeeded()) |
318 return false; | 328 return false; |
319 | 329 |
320 // Unlink any texture backings that were deleted | 330 // Unlink any texture backings that were deleted |
321 CCPrioritizedTextureManager::BackingVector evictedContentsTexturesBackings; | 331 CCPrioritizedTextureManager::BackingVector evictedContentsTexturesBackings; |
322 { | 332 { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 | 384 |
375 void CCSingleThreadProxy::didSwapFrame() | 385 void CCSingleThreadProxy::didSwapFrame() |
376 { | 386 { |
377 if (m_nextFrameIsNewlyCommittedFrame) { | 387 if (m_nextFrameIsNewlyCommittedFrame) { |
378 m_nextFrameIsNewlyCommittedFrame = false; | 388 m_nextFrameIsNewlyCommittedFrame = false; |
379 m_layerTreeHost->didCommitAndDrawFrame(); | 389 m_layerTreeHost->didCommitAndDrawFrame(); |
380 } | 390 } |
381 } | 391 } |
382 | 392 |
383 } | 393 } |
OLD | NEW |