New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 757499 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Refactor animation smoothness reporter

Project Member Reported by wutao@chromium.org, Aug 21 2017

Issue description

Talked with varkha@ on chat.

Currently to use the animation smoothness reporter, we need to define a subclass to override the Report(int value) function.

It would be better if we can avoid this step to make the client side much simpler.

We might have two option here:

1. Have a reporter factory: AnimationMetricsReporter::GetReporter("Ash.Window.AnimationSmoothness.Hide")
This would require initialize a reporter for each animation.
For the lifetime of the reporter, we can create the reporter in an animation observer ctor, and destroy the reporter in the observer dtor. But this would be much harder to do for animations that involve multiple windows and multiple stages such as overview.


2. If can we have a global LAZY animation_metrics_reporter, and Report(const char[] animation_uma_name, int value). Then at the client side, we only need to set the layer_animation_settings_->SetAnimationMetricsReporter(const char[] uma_name).

We can keep all the animation_uma_name in a const file. 

Note: varkha@ pointed out second method will not work due to the runtime constant limitation of the histogram object:
https://cs.chromium.org/chromium/src/base/metrics/histogram_macros.h?type=cs&l=23

 
Components: Internals>Compositing>Animation
Components: UI>GFX

Comment 3 by piman@chromium.org, Feb 26 2018

Status: Assigned (was: Available)
GPU triage: marking P1 issue as assigned.

Comment 4 by wutao@chromium.org, Feb 26 2018

Labels: -Pri-1 Pri-3
Labels: Hotlist-Consult
Components: -Internals>Compositing>Animation
Labels: -Hotlist-Consult
wutao@ and I discussed this recently. We discovered that there is a non-runtime constant way to do UMA histograms (https://cs.chromium.org/chromium/src/base/metrics/histogram_functions.h?rcl=442086c5265368fc99ea8ddf60832e42896007cc), which we think can be used to make the animation smoothness reporter easier to use.

We also agreed that the animation team would be happy to do any reviews involved, but would not be undertaking the work ourselves. As such, removing Internals>Compositing>Animation and Hotlist-Consult. Feel free to re-add the component or reach out to animations-dev@chromium.org if there are further questions.

Sign in to add a comment