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

Side by Side Diff: cc/trees/layer_tree_impl.cc

Issue 2906813002: Remove Compositing.LayerTreeImpl.FindClosestMatchingLayerUs histogram (Closed)
Patch Set: Created 3 years, 6 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 "cc/trees/layer_tree_impl.h" 5 #include "cc/trees/layer_tree_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 1882 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 // closer in this case, counterintuitively. 1893 // closer in this case, counterintuitively.
1894 float closest_distance; 1894 float closest_distance;
1895 }; 1895 };
1896 1896
1897 template <typename Functor> 1897 template <typename Functor>
1898 static void FindClosestMatchingLayer(const gfx::PointF& screen_space_point, 1898 static void FindClosestMatchingLayer(const gfx::PointF& screen_space_point,
1899 LayerImpl* root_layer, 1899 LayerImpl* root_layer,
1900 const Functor& func, 1900 const Functor& func,
1901 FindClosestMatchingLayerState* state) { 1901 FindClosestMatchingLayerState* state) {
1902 // We want to iterate from front to back when hit testing. 1902 // We want to iterate from front to back when hit testing.
1903 { 1903 for (auto* layer : base::Reversed(*root_layer->layer_tree_impl())) {
1904 base::ElapsedTimer timer; 1904 if (!func(layer))
1905 for (auto* layer : base::Reversed(*root_layer->layer_tree_impl())) { 1905 continue;
1906 if (!func(layer))
1907 continue;
1908 1906
1909 float distance_to_intersection = 0.f; 1907 float distance_to_intersection = 0.f;
1910 bool hit = false; 1908 bool hit = false;
1911 if (layer->Is3dSorted()) 1909 if (layer->Is3dSorted())
1912 hit = PointHitsLayer(layer, screen_space_point, 1910 hit =
1913 &distance_to_intersection); 1911 PointHitsLayer(layer, screen_space_point, &distance_to_intersection);
1914 else 1912 else
1915 hit = PointHitsLayer(layer, screen_space_point, nullptr); 1913 hit = PointHitsLayer(layer, screen_space_point, nullptr);
1916 1914
1917 if (!hit) 1915 if (!hit)
1918 continue; 1916 continue;
1919 1917
1920 bool in_front_of_previous_candidate = 1918 bool in_front_of_previous_candidate =
1921 state->closest_match && 1919 state->closest_match &&
1922 layer->GetSortingContextId() == 1920 layer->GetSortingContextId() ==
1923 state->closest_match->GetSortingContextId() && 1921 state->closest_match->GetSortingContextId() &&
1924 distance_to_intersection > 1922 distance_to_intersection >
1925 state->closest_distance + std::numeric_limits<float>::epsilon(); 1923 state->closest_distance + std::numeric_limits<float>::epsilon();
1926 1924
1927 if (!state->closest_match || in_front_of_previous_candidate) { 1925 if (!state->closest_match || in_front_of_previous_candidate) {
1928 state->closest_distance = distance_to_intersection; 1926 state->closest_distance = distance_to_intersection;
1929 state->closest_match = layer; 1927 state->closest_match = layer;
1930 }
1931 } 1928 }
1932 UMA_HISTOGRAM_COUNTS("Compositing.LayerTreeImpl.FindClosestMatchingLayerUs",
1933 timer.Elapsed().InMicroseconds());
1934 } 1929 }
1935 } 1930 }
1936 1931
1937 struct FindScrollingLayerOrDrawnScrollbarFunctor { 1932 struct FindScrollingLayerOrDrawnScrollbarFunctor {
1938 bool operator()(LayerImpl* layer) const { 1933 bool operator()(LayerImpl* layer) const {
1939 return layer->scrollable() || layer->IsDrawnScrollbar(); 1934 return layer->scrollable() || layer->IsDrawnScrollbar();
1940 } 1935 }
1941 }; 1936 };
1942 1937
1943 LayerImpl* 1938 LayerImpl*
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
2117 2112
2118 void LayerTreeImpl::ResetAllChangeTracking() { 2113 void LayerTreeImpl::ResetAllChangeTracking() {
2119 layers_that_should_push_properties_.clear(); 2114 layers_that_should_push_properties_.clear();
2120 // Iterate over all layers, including masks. 2115 // Iterate over all layers, including masks.
2121 for (auto& layer : *layers_) 2116 for (auto& layer : *layers_)
2122 layer->ResetChangeTracking(); 2117 layer->ResetChangeTracking();
2123 property_trees_.ResetAllChangeTracking(); 2118 property_trees_.ResetAllChangeTracking();
2124 } 2119 }
2125 2120
2126 } // namespace cc 2121 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | tools/metrics/histograms/histograms.xml » ('J')

Powered by Google App Engine
This is Rietveld 408576698