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

Unified Diff: cc/layer_tree_host.cc

Issue 12095053: cc: Avoid expensive RenderingStats collection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits Created 7 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layer.h ('k') | cc/layer_tree_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layer_tree_host.cc
diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc
index a6e2a76179913ae4edee0ed72f7d5a19e2aae2b5..0dc103dcd7c86dae05953c514c95569c3de9ec6f 100644
--- a/cc/layer_tree_host.cc
+++ b/cc/layer_tree_host.cc
@@ -409,6 +409,7 @@ void LayerTreeHost::didDeferCommit()
void LayerTreeHost::renderingStats(RenderingStats* stats) const
{
+ CHECK(m_settings.recordRenderingStats);
*stats = m_renderingStats;
m_proxy->renderingStats(stats);
}
@@ -699,16 +700,18 @@ bool LayerTreeHost::paintMasksForRenderSurface(Layer* renderSurfaceLayer, Resour
// in code, we already know that at least something will be drawn into this render surface, so the
// mask and replica should be painted.
+ RenderingStats* stats = m_settings.recordRenderingStats ? &m_renderingStats : NULL;
+
bool needMoreUpdates = false;
Layer* maskLayer = renderSurfaceLayer->maskLayer();
if (maskLayer) {
- maskLayer->update(queue, 0, m_renderingStats);
+ maskLayer->update(queue, 0, stats);
needMoreUpdates |= maskLayer->needMoreUpdates();
}
Layer* replicaMaskLayer = renderSurfaceLayer->replicaLayer() ? renderSurfaceLayer->replicaLayer()->maskLayer() : 0;
if (replicaMaskLayer) {
- replicaMaskLayer->update(queue, 0, m_renderingStats);
+ replicaMaskLayer->update(queue, 0, stats);
needMoreUpdates |= replicaMaskLayer->needMoreUpdates();
}
return needMoreUpdates;
@@ -726,6 +729,8 @@ bool LayerTreeHost::paintLayerContents(const LayerList& renderSurfaceLayerList,
prioritizeTextures(renderSurfaceLayerList, occlusionTracker.overdrawMetrics());
+ RenderingStats* stats = m_settings.recordRenderingStats ? &m_renderingStats : NULL;
+
LayerIteratorType end = LayerIteratorType::end(&renderSurfaceLayerList);
for (LayerIteratorType it = LayerIteratorType::begin(&renderSurfaceLayerList); it != end; ++it) {
occlusionTracker.enterLayer(it);
@@ -735,7 +740,7 @@ bool LayerTreeHost::paintLayerContents(const LayerList& renderSurfaceLayerList,
needMoreUpdates |= paintMasksForRenderSurface(*it, queue);
} else if (it.representsItself()) {
DCHECK(!it->bounds().IsEmpty());
- it->update(queue, &occlusionTracker, m_renderingStats);
+ it->update(queue, &occlusionTracker, stats);
needMoreUpdates |= it->needMoreUpdates();
}
« no previous file with comments | « cc/layer.h ('k') | cc/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698