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

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

Issue 918633003: Add a telemetry measurement for property tree performance. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 10 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/draw_property_utils.h" 5 #include "cc/trees/draw_property_utils.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "cc/base/math_util.h" 9 #include "cc/base/math_util.h"
10 #include "cc/layers/layer.h" 10 #include "cc/layers/layer.h"
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 static bool IsInvisibleDueToTransform(Layer* layer, const TransformTree& tree) { 152 static bool IsInvisibleDueToTransform(Layer* layer, const TransformTree& tree) {
153 return HasSingularTransform(layer, tree) || IsBackFaceInvisible(layer, tree); 153 return HasSingularTransform(layer, tree) || IsBackFaceInvisible(layer, tree);
154 } 154 }
155 155
156 void FindLayersThatNeedVisibleRects(Layer* layer, 156 void FindLayersThatNeedVisibleRects(Layer* layer,
157 const TransformTree& tree, 157 const TransformTree& tree,
158 bool subtree_is_visible_from_ancestor, 158 bool subtree_is_visible_from_ancestor,
159 std::vector<Layer*>* layers_to_update) { 159 std::vector<Layer*>* layers_to_update) {
160 const bool subtree_is_invisble = 160 const bool subtree_is_invisble =
161 layer->opacity() == 0.0f ||
Ian Vollick 2015/02/15 06:27:18 Is it bogus to calculate visible content rects for
enne (OOO) 2015/02/17 17:40:14 I don't think this function goes away. Where was
Ian Vollick 2015/02/18 05:22:43 Sorry, I didn't mean to imply that it was going aw
Ian Vollick 2015/02/19 07:07:44 Stepping through this example, it looks like the p
162 (layer->has_render_surface() && !layer->double_sided() && 161 (layer->has_render_surface() && !layer->double_sided() &&
163 IsSurfaceBackFaceExposed(layer, tree)); 162 IsSurfaceBackFaceExposed(layer, tree));
164 163
165 if (subtree_is_invisble) 164 if (subtree_is_invisble)
166 return; 165 return;
167 166
168 bool layer_is_drawn = 167 bool layer_is_drawn =
169 layer->HasCopyRequest() || 168 layer->HasCopyRequest() ||
170 (subtree_is_visible_from_ancestor && !layer->hide_layer_and_subtree()); 169 (subtree_is_visible_from_ancestor && !layer->hide_layer_and_subtree());
171 170
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 270
272 std::vector<Layer*> layers_to_update; 271 std::vector<Layer*> layers_to_update;
273 const bool subtree_is_visible_from_ancestor = true; 272 const bool subtree_is_visible_from_ancestor = true;
274 FindLayersThatNeedVisibleRects(root_layer, *transform_tree, 273 FindLayersThatNeedVisibleRects(root_layer, *transform_tree,
275 subtree_is_visible_from_ancestor, 274 subtree_is_visible_from_ancestor,
276 &layers_to_update); 275 &layers_to_update);
277 CalculateVisibleRects(layers_to_update, *clip_tree, *transform_tree); 276 CalculateVisibleRects(layers_to_update, *clip_tree, *transform_tree);
278 } 277 }
279 278
280 } // namespace cc 279 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698