From f898a23c1af094b58ea748c74948049893c08084 Mon Sep 17 00:00:00 2001 From: yiyix Date: Tue, 28 Aug 2018 21:31:21 +0000 Subject: [PATCH] Revert "FrameMetrics: Adding frame metrics analysis to LayerTreeHostImpl" This reverts commit 808c1f33139afdc7d32b838938ed297a3f27f8f1. Reason for revert: increased the time spent in tasks_per_frame_total_all by 10%. Original change's description: > FrameMetrics: Adding frame metrics analysis to LayerTreeHostImpl > > Added frame metrics analysis to LayerTreeHostImpl. The frame presentation > callback times are sent to frame metrics for every nth scrolling. > > Bug:851088 > > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel > Change-Id: I32aee9b5401c056ed3be64e17a45cc1958188199 > Reviewed-on: https://chromium-review.googlesource.com/1147921 > Commit-Queue: Yi Xu > Reviewed-by: Robert Flack > Cr-Commit-Position: refs/heads/master@{#581782} TBR=sadrul@chromium.org,flackr@chromium.org,yiyix@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 851088 Change-Id: I86e8f294afcbd84c5e271fcbf2999f01e831df25 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Reviewed-on: https://chromium-review.googlesource.com/1194685 Reviewed-by: Yi Xu Commit-Queue: Yi Xu Cr-Commit-Position: refs/heads/master@{#586857} --- cc/trees/layer_tree_host_impl.cc | 21 ++------------------- cc/trees/layer_tree_host_impl.h | 3 --- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc index e3c9c5e8730947..a0abf38763a205 100644 --- a/cc/trees/layer_tree_host_impl.cc +++ b/cc/trees/layer_tree_host_impl.cc @@ -120,11 +120,6 @@ namespace { // V1 saw errors of ~0.065 between computed window and content widths. const float kMobileViewportWidthEpsilon = 0.15f; -// We report frames and their display time to the FrameMetrics to analyze fps -// for every |kFrameMetricsScrollReportFrequency|th scroll event after the last -// report. -const int kFrameMetricsScrollReportFrequency = 10; - bool HasFixedPageScale(LayerTreeImpl* active_tree) { return active_tree->min_page_scale_factor() == active_tree->max_page_scale_factor(); @@ -1902,17 +1897,13 @@ viz::CompositorFrameMetadata LayerTreeHostImpl::MakeCompositorFrameMetadata() { metadata.root_background_color = active_tree_->background_color(); metadata.content_source_id = active_tree_->content_source_id(); - // Skip recording frame metrics for android_webview - // (using_synchronous_renderer_compositor) scrolls because different - // application is handling frame presentation in android webview. if (active_tree_->has_presentation_callbacks() || - settings_.always_request_presentation_time || - (scroll_events_after_reporting_ == 0 && CurrentlyScrollingNode() && - !settings_.using_synchronous_renderer_compositor)) { + settings_.always_request_presentation_time) { metadata.request_presentation_feedback = true; frame_token_infos_.emplace_back(metadata.frame_token, CurrentBeginFrameArgs().frame_time, active_tree_->TakePresentationCallbacks()); + DCHECK_LE(frame_token_infos_.size(), 25u); } @@ -4474,14 +4465,6 @@ void LayerTreeHostImpl::ScrollEndImpl(ScrollState* scroll_state) { DistributeScrollDelta(scroll_state); browser_controls_offset_manager_->ScrollEnd(); ClearCurrentlyScrollingNode(); - - // At the end of a scrolling event, increases |scroll_events_after_reporting_| - // by 1. If it is the |kFrameMetricsScrollReportFrequency| scrolling event - // after the previous report to the frame metrics, then - // |scroll_events_after_reporting_| becomes 0 and the data will be reported - // back the frame metrics. - scroll_events_after_reporting_ = - (scroll_events_after_reporting_ + 1) % kFrameMetricsScrollReportFrequency; } void LayerTreeHostImpl::ScrollEnd(ScrollState* scroll_state, bool should_snap) { diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h index f429b9f31bf3fd..34f94397d5796f 100644 --- a/cc/trees/layer_tree_host_impl.h +++ b/cc/trees/layer_tree_host_impl.h @@ -1105,9 +1105,6 @@ class CC_EXPORT LayerTreeHostImpl ui::FrameMetrics frame_metrics_; ui::SkippedFrameTracker skipped_frame_tracker_; bool is_animating_for_snap_; - // The number of scroll events happened after the last report to frame - // metrics. - int scroll_events_after_reporting_ = 0; const PaintImage::GeneratorClientId paint_image_generator_client_id_;