Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: cc/CCLayerTreeHostImpl.cpp

Issue 11028021: cc: Improve frame/commit accounting (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "CCLayerTreeHostImpl.h" 7 #include "CCLayerTreeHostImpl.h"
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "CCAppendQuadsData.h" 10 #include "CCAppendQuadsData.h"
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 , m_memoryAllocationLimitBytes(CCPrioritizedTextureManager::defaultMemoryAll ocationLimit()) 122 , m_memoryAllocationLimitBytes(CCPrioritizedTextureManager::defaultMemoryAll ocationLimit())
123 , m_pageScale(1) 123 , m_pageScale(1)
124 , m_pageScaleDelta(1) 124 , m_pageScaleDelta(1)
125 , m_sentPageScaleDelta(1) 125 , m_sentPageScaleDelta(1)
126 , m_minPageScale(0) 126 , m_minPageScale(0)
127 , m_maxPageScale(0) 127 , m_maxPageScale(0)
128 , m_backgroundColor(0) 128 , m_backgroundColor(0)
129 , m_hasTransparentBackground(false) 129 , m_hasTransparentBackground(false)
130 , m_needsAnimateLayers(false) 130 , m_needsAnimateLayers(false)
131 , m_pinchGestureActive(false) 131 , m_pinchGestureActive(false)
132 , m_numAnimationFrames(0)
132 , m_fpsCounter(CCFrameRateCounter::create()) 133 , m_fpsCounter(CCFrameRateCounter::create())
133 , m_debugRectHistory(CCDebugRectHistory::create()) 134 , m_debugRectHistory(CCDebugRectHistory::create())
134 , m_numImplThreadScrolls(0) 135 , m_numImplThreadScrolls(0)
135 , m_numMainThreadScrolls(0) 136 , m_numMainThreadScrolls(0)
136 { 137 {
137 ASSERT(CCProxy::isImplThread()); 138 ASSERT(CCProxy::isImplThread());
138 didVisibilityChange(this, m_visible); 139 didVisibilityChange(this, m_visible);
139 } 140 }
140 141
141 CCLayerTreeHostImpl::~CCLayerTreeHostImpl() 142 CCLayerTreeHostImpl::~CCLayerTreeHostImpl()
(...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after
1223 m_pageScaleAnimation.clear(); 1224 m_pageScaleAnimation.clear();
1224 m_client->setNeedsCommitOnImplThread(); 1225 m_client->setNeedsCommitOnImplThread();
1225 } 1226 }
1226 } 1227 }
1227 1228
1228 void CCLayerTreeHostImpl::animateLayers(double monotonicTime, double wallClockTi me) 1229 void CCLayerTreeHostImpl::animateLayers(double monotonicTime, double wallClockTi me)
1229 { 1230 {
1230 if (!CCSettings::acceleratedAnimationEnabled() || !m_needsAnimateLayers || ! m_rootLayerImpl) 1231 if (!CCSettings::acceleratedAnimationEnabled() || !m_needsAnimateLayers || ! m_rootLayerImpl)
1231 return; 1232 return;
1232 1233
1234 m_numAnimationFrames++;
1233 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::animateLayers"); 1235 TRACE_EVENT0("cc", "CCLayerTreeHostImpl::animateLayers");
1234 1236
1235 OwnPtr<CCAnimationEventsVector> events(adoptPtr(new CCAnimationEventsVector) ); 1237 OwnPtr<CCAnimationEventsVector> events(adoptPtr(new CCAnimationEventsVector) );
1236 1238
1237 bool didAnimate = false; 1239 bool didAnimate = false;
1238 animateLayersRecursive(m_rootLayerImpl.get(), monotonicTime, wallClockTime, events.get(), didAnimate, m_needsAnimateLayers); 1240 animateLayersRecursive(m_rootLayerImpl.get(), monotonicTime, wallClockTime, events.get(), didAnimate, m_needsAnimateLayers);
1239 1241
1240 if (!events->isEmpty()) 1242 if (!events->isEmpty())
1241 m_client->postAnimationEventsToMainThreadOnImplThread(events.release(), wallClockTime); 1243 m_client->postAnimationEventsToMainThreadOnImplThread(events.release(), wallClockTime);
1242 1244
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1298 } 1300 }
1299 1301
1300 int CCLayerTreeHostImpl::sourceAnimationFrameNumber() const 1302 int CCLayerTreeHostImpl::sourceAnimationFrameNumber() const
1301 { 1303 {
1302 return fpsCounter()->currentFrameNumber(); 1304 return fpsCounter()->currentFrameNumber();
1303 } 1305 }
1304 1306
1305 void CCLayerTreeHostImpl::renderingStats(CCRenderingStats* stats) const 1307 void CCLayerTreeHostImpl::renderingStats(CCRenderingStats* stats) const
1306 { 1308 {
1307 stats->numFramesSentToScreen = fpsCounter()->currentFrameNumber(); 1309 stats->numFramesSentToScreen = fpsCounter()->currentFrameNumber();
1308 stats->droppedFrameCount = fpsCounter()->droppedFrameCount();
1309 stats->numImplThreadScrolls = m_numImplThreadScrolls; 1310 stats->numImplThreadScrolls = m_numImplThreadScrolls;
1310 stats->numMainThreadScrolls = m_numMainThreadScrolls; 1311 stats->numMainThreadScrolls = m_numMainThreadScrolls;
1312 stats->numAnimationFramesImpl = m_numAnimationFrames;
1311 } 1313 }
1312 1314
1313 void CCLayerTreeHostImpl::animateScrollbars(double monotonicTime) 1315 void CCLayerTreeHostImpl::animateScrollbars(double monotonicTime)
1314 { 1316 {
1315 animateScrollbarsRecursive(m_rootLayerImpl.get(), monotonicTime); 1317 animateScrollbarsRecursive(m_rootLayerImpl.get(), monotonicTime);
1316 } 1318 }
1317 1319
1318 void CCLayerTreeHostImpl::animateScrollbarsRecursive(CCLayerImpl* layer, double monotonicTime) 1320 void CCLayerTreeHostImpl::animateScrollbarsRecursive(CCLayerImpl* layer, double monotonicTime)
1319 { 1321 {
1320 if (!layer) 1322 if (!layer)
1321 return; 1323 return;
1322 1324
1323 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat ionController(); 1325 CCScrollbarAnimationController* scrollbarController = layer->scrollbarAnimat ionController();
1324 if (scrollbarController && scrollbarController->animate(monotonicTime)) 1326 if (scrollbarController && scrollbarController->animate(monotonicTime))
1325 m_client->setNeedsRedrawOnImplThread(); 1327 m_client->setNeedsRedrawOnImplThread();
1326 1328
1327 for (size_t i = 0; i < layer->children().size(); ++i) 1329 for (size_t i = 0; i < layer->children().size(); ++i)
1328 animateScrollbarsRecursive(layer->children()[i], monotonicTime); 1330 animateScrollbarsRecursive(layer->children()[i], monotonicTime);
1329 } 1331 }
1330 1332
1331 } // namespace cc 1333 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698