OLD | NEW |
---|---|
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.h" | 5 #include "cc/trees/layer_tree_host.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <stack> | 8 #include <stack> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
126 min_page_scale_factor_(1.f), | 126 min_page_scale_factor_(1.f), |
127 max_page_scale_factor_(1.f), | 127 max_page_scale_factor_(1.f), |
128 has_gpu_rasterization_trigger_(false), | 128 has_gpu_rasterization_trigger_(false), |
129 content_is_suitable_for_gpu_rasterization_(true), | 129 content_is_suitable_for_gpu_rasterization_(true), |
130 gpu_rasterization_histogram_recorded_(false), | 130 gpu_rasterization_histogram_recorded_(false), |
131 background_color_(SK_ColorWHITE), | 131 background_color_(SK_ColorWHITE), |
132 has_transparent_background_(false), | 132 has_transparent_background_(false), |
133 partial_texture_update_requests_(0), | 133 partial_texture_update_requests_(0), |
134 did_complete_scale_animation_(false), | 134 did_complete_scale_animation_(false), |
135 in_paint_layer_contents_(false), | 135 in_paint_layer_contents_(false), |
136 total_frames_used_for_lcd_text_metrics_(0), | |
137 id_(s_layer_tree_host_sequence_number.GetNext() + 1), | 136 id_(s_layer_tree_host_sequence_number.GetNext() + 1), |
138 next_commit_forces_redraw_(false), | 137 next_commit_forces_redraw_(false), |
139 shared_bitmap_manager_(shared_bitmap_manager), | 138 shared_bitmap_manager_(shared_bitmap_manager), |
140 gpu_memory_buffer_manager_(gpu_memory_buffer_manager), | 139 gpu_memory_buffer_manager_(gpu_memory_buffer_manager), |
141 surface_id_namespace_(0u), | 140 surface_id_namespace_(0u), |
142 next_surface_sequence_(1u) { | 141 next_surface_sequence_(1u) { |
143 if (settings_.accelerated_animation_enabled) | 142 if (settings_.accelerated_animation_enabled) |
144 animation_registrar_ = AnimationRegistrar::Create(); | 143 animation_registrar_ = AnimationRegistrar::Create(); |
145 rendering_stats_instrumentation_->set_record_rendering_stats( | 144 rendering_stats_instrumentation_->set_record_rendering_stats( |
146 debug_state_.RecordRenderingStats()); | 145 debug_state_.RecordRenderingStats()); |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
802 content_is_suitable_for_gpu_rasterization_); | 801 content_is_suitable_for_gpu_rasterization_); |
803 // Record how many pages actually get gpu rasterization when enabled. | 802 // Record how many pages actually get gpu rasterization when enabled. |
804 UMA_HISTOGRAM_BOOLEAN("Renderer4.GpuRasterizationUsed", | 803 UMA_HISTOGRAM_BOOLEAN("Renderer4.GpuRasterizationUsed", |
805 (has_gpu_rasterization_trigger_ && | 804 (has_gpu_rasterization_trigger_ && |
806 content_is_suitable_for_gpu_rasterization_)); | 805 content_is_suitable_for_gpu_rasterization_)); |
807 } | 806 } |
808 | 807 |
809 gpu_rasterization_histogram_recorded_ = true; | 808 gpu_rasterization_histogram_recorded_ = true; |
810 } | 809 } |
811 | 810 |
812 void LayerTreeHost::CalculateLCDTextMetricsCallback(Layer* layer) { | |
813 if (!layer->SupportsLCDText()) | |
814 return; | |
815 | |
816 lcd_text_metrics_.total_num_cc_layers++; | |
817 if (layer->draw_properties().can_use_lcd_text) { | |
818 lcd_text_metrics_.total_num_cc_layers_can_use_lcd_text++; | |
819 if (layer->contents_opaque()) | |
820 lcd_text_metrics_.total_num_cc_layers_will_use_lcd_text++; | |
821 } | |
822 } | |
823 | |
824 bool LayerTreeHost::UsingSharedMemoryResources() { | 811 bool LayerTreeHost::UsingSharedMemoryResources() { |
825 return GetRendererCapabilities().using_shared_memory_resources; | 812 return GetRendererCapabilities().using_shared_memory_resources; |
826 } | 813 } |
827 | 814 |
828 bool LayerTreeHost::UpdateLayers(Layer* root_layer, | 815 bool LayerTreeHost::UpdateLayers(Layer* root_layer, |
829 ResourceUpdateQueue* queue) { | 816 ResourceUpdateQueue* queue) { |
830 TRACE_EVENT1("cc", "LayerTreeHost::UpdateLayers", | 817 TRACE_EVENT1("cc", "LayerTreeHost::UpdateLayers", |
831 "source_frame_number", source_frame_number()); | 818 "source_frame_number", source_frame_number()); |
832 | 819 |
833 RenderSurfaceLayerList update_list; | 820 RenderSurfaceLayerList update_list; |
(...skipping 20 matching lines...) Expand all Loading... | |
854 root_layer, device_viewport_size(), gfx::Transform(), | 841 root_layer, device_viewport_size(), gfx::Transform(), |
855 device_scale_factor_, page_scale_factor_, page_scale_layer, | 842 device_scale_factor_, page_scale_factor_, page_scale_layer, |
856 elastic_overscroll_, overscroll_elasticity_layer_.get(), | 843 elastic_overscroll_, overscroll_elasticity_layer_.get(), |
857 GetRendererCapabilities().max_texture_size, settings_.can_use_lcd_text, | 844 GetRendererCapabilities().max_texture_size, settings_.can_use_lcd_text, |
858 settings_.layers_always_allowed_lcd_text, | 845 settings_.layers_always_allowed_lcd_text, |
859 can_render_to_separate_surface, | 846 can_render_to_separate_surface, |
860 settings_.layer_transforms_should_scale_layer_contents, | 847 settings_.layer_transforms_should_scale_layer_contents, |
861 settings_.verify_property_trees, &update_list, | 848 settings_.verify_property_trees, &update_list, |
862 render_surface_layer_list_id); | 849 render_surface_layer_list_id); |
863 LayerTreeHostCommon::CalculateDrawProperties(&inputs); | 850 LayerTreeHostCommon::CalculateDrawProperties(&inputs); |
864 | |
865 if (total_frames_used_for_lcd_text_metrics_ <= | |
866 kTotalFramesToUseForLCDTextMetrics) { | |
867 LayerTreeHostCommon::CallFunctionForSubtree( | |
868 root_layer, | |
869 base::Bind(&LayerTreeHost::CalculateLCDTextMetricsCallback, | |
870 base::Unretained(this))); | |
871 total_frames_used_for_lcd_text_metrics_++; | |
872 } | |
873 | |
874 if (total_frames_used_for_lcd_text_metrics_ == | |
875 kTotalFramesToUseForLCDTextMetrics) { | |
876 total_frames_used_for_lcd_text_metrics_++; | |
877 | |
878 UMA_HISTOGRAM_PERCENTAGE( | |
danakj
2015/02/18 01:24:10
Are these not being used anymore?
| |
879 "Renderer4.LCDText.PercentageOfCandidateLayers", | |
880 lcd_text_metrics_.total_num_cc_layers_can_use_lcd_text * 100.0 / | |
881 lcd_text_metrics_.total_num_cc_layers); | |
882 UMA_HISTOGRAM_PERCENTAGE( | |
883 "Renderer4.LCDText.PercentageOfAALayers", | |
884 lcd_text_metrics_.total_num_cc_layers_will_use_lcd_text * 100.0 / | |
885 lcd_text_metrics_.total_num_cc_layers_can_use_lcd_text); | |
886 } | |
887 } | 851 } |
888 | 852 |
889 // Reset partial texture update requests. | 853 // Reset partial texture update requests. |
890 partial_texture_update_requests_ = 0; | 854 partial_texture_update_requests_ = 0; |
891 | 855 |
892 bool did_paint_content = false; | 856 bool did_paint_content = false; |
893 bool need_more_updates = false; | 857 bool need_more_updates = false; |
894 PaintLayerContents( | 858 PaintLayerContents( |
895 update_list, queue, &did_paint_content, &need_more_updates); | 859 update_list, queue, &did_paint_content, &need_more_updates); |
896 if (need_more_updates) { | 860 if (need_more_updates) { |
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1370 bool children_need_begin_frames) const { | 1334 bool children_need_begin_frames) const { |
1371 proxy_->SetChildrenNeedBeginFrames(children_need_begin_frames); | 1335 proxy_->SetChildrenNeedBeginFrames(children_need_begin_frames); |
1372 } | 1336 } |
1373 | 1337 |
1374 void LayerTreeHost::SendBeginFramesToChildren( | 1338 void LayerTreeHost::SendBeginFramesToChildren( |
1375 const BeginFrameArgs& args) const { | 1339 const BeginFrameArgs& args) const { |
1376 client_->SendBeginFramesToChildren(args); | 1340 client_->SendBeginFramesToChildren(args); |
1377 } | 1341 } |
1378 | 1342 |
1379 } // namespace cc | 1343 } // namespace cc |
OLD | NEW |