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

Issue 752349 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

arc: Switch OptIn progress bar animation to paper progress bar.

Project Member Reported by khmel@chromium.org, Aug 3 2017

Issue description

Currently we emulating ARC OptIn progress bar that looks as paper progress bar to save CPU resource. We need to solve performance drop using paper progress bar and switch to it back.
 
Cc: hidehiko@chromium.org

Comment 2 by khmel@chromium.org, Aug 11 2017

Cc: lgcheng@google.com
Status: Fixed (was: Assigned)
+Long in case we need to merge this.

CL: https://chromium-review.googlesource.com/c/590151

Comment 3 by lgcheng@google.com, Aug 15 2017

Blocking: 746569

Comment 4 by lgcheng@google.com, Aug 15 2017

Blocking: -746569

Comment 5 by khmel@chromium.org, Aug 15 2017

Status: Assigned (was: Fixed)

Comment 6 by tfiga@chromium.org, Sep 21 2017

Components: OS>Kernel>Graphics UI>GFX
Labels: -Pri-3 Pri-1
I think the right step here would be to investigate why rendering such simple animation is so heavy in Chrome. Adding more components for traction and bumping the priority due to heavy impact on UX.

Comment 7 by tfiga@chromium.org, Sep 21 2017

Cc: marc...@chromium.org reve...@chromium.org
Stephane, David, any ideas who could have more insight on this? Additional info in b/65065414.

Comment 8 by tfiga@chromium.org, Sep 21 2017

Labels: M-61

Comment 9 by khmel@chromium.org, Sep 21 2017

Labels: -M-61
M-61 is already stable.
In OOBE, there is a dialog that says "Checking for updates", and animation in that dialog looks pretty smooth. Is that the paper progress bar, that's expensive?

Comment 11 by khmel@chromium.org, Oct 25 2017

this animation is based on html element layout change.

So it goes to 3 consumer.

1. html relayout calculation
2. chrome layer update/composition
3. render itself.


I did several tests, including implementing purely native custom bar. So I could eliminate (1) completely.  
Also I tested this on empty system with only one native progress bar alive.
This gives me results.

(2) - takes > 8ms spent on layer system update
(3) - takes > 8ms spent on rendering 19 patches.

Now consider we have target 60fps for smooth things and this means 16ms per frame.
(1) in case of html layout is also >8ms.

As result only this smooth progress bar costs us ~ 1.8 cpu loading.
That mean we take 1.8 cpus out of 4 available and Android booting does not receive these resources.

Back to "Checking for updates"
1. I am not sure how many  layers actually are included in to the update in this case.
2. There are no extensive CPU operations happen behind this progress bar and even spending 1.8 cpu resources may be acceptable.
3. Do we have real numbers for this case? How this animation affects whole system.







Sign in to add a comment