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

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

Issue 1855013002: cc : Stop calculating visible rects on main thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_host_common.h" 5 #include "cc/trees/layer_tree_host_common.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
11 #include "base/trace_event/trace_event.h" 11 #include "base/trace_event/trace_event.h"
12 #include "cc/base/math_util.h" 12 #include "cc/base/math_util.h"
13 #include "cc/layers/heads_up_display_layer_impl.h" 13 #include "cc/layers/heads_up_display_layer_impl.h"
14 #include "cc/layers/layer.h" 14 #include "cc/layers/layer.h"
15 #include "cc/layers/layer_impl.h" 15 #include "cc/layers/layer_impl.h"
16 #include "cc/layers/layer_iterator.h" 16 #include "cc/layers/layer_iterator.h"
17 #include "cc/proto/begin_main_frame_and_commit_state.pb.h" 17 #include "cc/proto/begin_main_frame_and_commit_state.pb.h"
18 #include "cc/proto/gfx_conversions.h" 18 #include "cc/proto/gfx_conversions.h"
19 #include "cc/trees/draw_property_utils.h" 19 #include "cc/trees/draw_property_utils.h"
20 #include "cc/trees/layer_tree_host.h" 20 #include "cc/trees/layer_tree_host.h"
21 #include "cc/trees/layer_tree_impl.h" 21 #include "cc/trees/layer_tree_impl.h"
22 #include "cc/trees/property_tree_builder.h"
22 #include "ui/gfx/geometry/rect_conversions.h" 23 #include "ui/gfx/geometry/rect_conversions.h"
23 #include "ui/gfx/geometry/vector2d_conversions.h" 24 #include "ui/gfx/geometry/vector2d_conversions.h"
24 #include "ui/gfx/transform.h" 25 #include "ui/gfx/transform.h"
25 #include "ui/gfx/transform_util.h" 26 #include "ui/gfx/transform_util.h"
26 27
27 namespace cc { 28 namespace cc {
28 29
29 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting:: 30 LayerTreeHostCommon::CalcDrawPropsMainInputsForTesting::
30 CalcDrawPropsMainInputsForTesting(Layer* root_layer, 31 CalcDrawPropsMainInputsForTesting(Layer* root_layer,
31 const gfx::Size& device_viewport_size, 32 const gfx::Size& device_viewport_size,
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
1032 } 1033 }
1033 1034
1034 void LayerTreeHostCommon::CalculateDrawPropertiesForTesting( 1035 void LayerTreeHostCommon::CalculateDrawPropertiesForTesting(
1035 CalcDrawPropsMainInputsForTesting* inputs) { 1036 CalcDrawPropsMainInputsForTesting* inputs) {
1036 LayerList update_layer_list; 1037 LayerList update_layer_list;
1037 bool can_render_to_separate_surface = true; 1038 bool can_render_to_separate_surface = true;
1038 PropertyTrees* property_trees = 1039 PropertyTrees* property_trees =
1039 inputs->root_layer->layer_tree_host()->property_trees(); 1040 inputs->root_layer->layer_tree_host()->property_trees();
1040 Layer* overscroll_elasticity_layer = nullptr; 1041 Layer* overscroll_elasticity_layer = nullptr;
1041 gfx::Vector2dF elastic_overscroll; 1042 gfx::Vector2dF elastic_overscroll;
1042 draw_property_utils::BuildPropertyTreesAndComputeVisibleRects( 1043 PropertyTreeBuilder::BuildPropertyTrees(
1043 inputs->root_layer, inputs->page_scale_layer, 1044 inputs->root_layer, inputs->page_scale_layer,
1044 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, 1045 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer,
1045 overscroll_elasticity_layer, elastic_overscroll, 1046 overscroll_elasticity_layer, elastic_overscroll,
1046 inputs->page_scale_factor, inputs->device_scale_factor, 1047 inputs->page_scale_factor, inputs->device_scale_factor,
1047 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, 1048 gfx::Rect(inputs->device_viewport_size), inputs->device_transform,
1048 can_render_to_separate_surface, property_trees, &update_layer_list); 1049 property_trees);
1050 draw_property_utils::UpdateRenderSurfaces(inputs->root_layer, property_trees);
1051 draw_property_utils::UpdatePropertyTrees(property_trees,
1052 can_render_to_separate_surface);
1053 draw_property_utils::FindLayersThatNeedUpdates(
1054 inputs->root_layer, property_trees->transform_tree,
1055 property_trees->effect_tree, &update_layer_list);
1056 draw_property_utils::ComputeVisibleRectsForTesting(
1057 property_trees, can_render_to_separate_surface, &update_layer_list);
1049 } 1058 }
1050 1059
1051 void LayerTreeHostCommon::CalculateDrawProperties( 1060 void LayerTreeHostCommon::CalculateDrawProperties(
1052 CalcDrawPropsImplInputs* inputs) { 1061 CalcDrawPropsImplInputs* inputs) {
1053 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES); 1062 CalculateDrawPropertiesInternal(inputs, DONT_BUILD_PROPERTY_TREES);
1054 1063
1055 if (CdpPerfTracingEnabled()) { 1064 if (CdpPerfTracingEnabled()) {
1056 LayerTreeImpl* layer_tree_impl = inputs->root_layer->layer_tree_impl(); 1065 LayerTreeImpl* layer_tree_impl = inputs->root_layer->layer_tree_impl();
1057 if (layer_tree_impl->IsPendingTree() && 1066 if (layer_tree_impl->IsPendingTree() &&
1058 layer_tree_impl->is_first_frame_after_commit()) { 1067 layer_tree_impl->is_first_frame_after_commit()) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1107 1116
1108 PropertyTrees* GetPropertyTrees(Layer* layer) { 1117 PropertyTrees* GetPropertyTrees(Layer* layer) {
1109 return layer->layer_tree_host()->property_trees(); 1118 return layer->layer_tree_host()->property_trees();
1110 } 1119 }
1111 1120
1112 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { 1121 PropertyTrees* GetPropertyTrees(LayerImpl* layer) {
1113 return layer->layer_tree_impl()->property_trees(); 1122 return layer->layer_tree_impl()->property_trees();
1114 } 1123 }
1115 1124
1116 } // namespace cc 1125 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host.cc ('k') | cc/trees/layer_tree_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698