Index: cc/trees/layer_tree_impl.cc |
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc |
index 0dc52f21aebe18cb9136c22c5790da266ce26027..1dd5bffed5666e0faf841b17d6c8f32a80ebfb1b 100644 |
--- a/cc/trees/layer_tree_impl.cc |
+++ b/cc/trees/layer_tree_impl.cc |
@@ -8,6 +8,7 @@ |
#include <limits> |
#include <set> |
+#include "base/metrics/histogram.h" |
#include "base/trace_event/trace_event.h" |
#include "base/trace_event/trace_event_argument.h" |
#include "cc/animation/animation_host.h" |
@@ -725,7 +726,9 @@ gfx::Size LayerTreeImpl::ScrollableSize() const { |
} |
LayerImpl* LayerTreeImpl::LayerById(int id) const { |
+ base::TimeTicks start_time = base::TimeTicks::Now(); |
LayerIdMap::const_iterator iter = layer_id_map_.find(id); |
+ find_layer_by_id_stats_ += base::TimeTicks::Now() - start_time; |
return iter != layer_id_map_.end() ? iter->second : NULL; |
} |
@@ -745,6 +748,10 @@ void LayerTreeImpl::UnregisterLayer(LayerImpl* layer) { |
layer_id_map_.erase(layer->id()); |
} |
+void LayerTreeImpl::ClearStatsOnFrameEnd() { |
+ find_layer_by_id_stats_ = base::TimeDelta(); |
+} |
+ |
size_t LayerTreeImpl::NumLayers() { |
return layer_id_map_.size(); |
} |