Need to investigate why transform or opacity animations in invisible elements run both on main-thread and compositor on Android

RESOLVED FIXED

Status

()

Core
DOM: Animation
RESOLVED FIXED
2 years ago
3 months ago

People

(Reporter: hiro, Assigned: hiro)

Tracking

Trunk
ARM
Android
Points:
---

Firefox Tracking Flags

(firefox47 affected)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
I notice this fast in bug 1235286 comment 16 first.  We should investigate it in further detail.
(Assignee)

Comment 1

2 years ago
As of 2016/02/12 JST:

In scrolled out elements:
 * transform animations
  * keep running on compositor
  * consume almost half of frames (6 or 7 / 10 frames) for restyling

 * opacity animations
  * keep running on compositor
  * consume almost half of frames (6 or 7 / 10 frames) for restyling

In visibility:hidden elements:
 * transform animations
  * keep running on compositor
  * sometimes consume the first two or three frames for restyling

 * opacity animations
  * keep running on compositor
  * sometimes consume the first two or three frames for restyling
(Assignee)

Updated

2 years ago
Summary: Need to investigate why transform or opactity animations in invisible elements run both on main-tread and compositor on Android → Need to investigate why transform or opactity animations in invisible elements run both on main-thread and compositor on Android
(Assignee)

Updated

2 years ago
Summary: Need to investigate why transform or opactity animations in invisible elements run both on main-thread and compositor on Android → Need to investigate why transform or opacity animations in invisible elements run both on main-thread and compositor on Android
(Assignee)

Comment 2

2 years ago
Today I noticed opacity animations in visibility:hidden elements do not consume compositor thread at all.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=99675e2fe2a8
I've never checked which changeset fixed it, but we should enable a test in test_restyle.html as soon as possible.
Note that transform animations in visibility:hidden elements still consume compositor thread.
(Assignee)

Comment 3

2 years ago
Created attachment 8755283 [details]
Bug 1247800 - Run skipped test cases on Android.

Review commit: https://reviewboard.mozilla.org/r/54512/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/54512/
Attachment #8755283 - Flags: review?(bbirtles)
Comment on attachment 8755283 [details]
Bug 1247800 - Run skipped test cases on Android.

https://reviewboard.mozilla.org/r/54512/#review51136
Attachment #8755283 - Flags: review?(bbirtles) → review+
(Assignee)

Updated

2 years ago
Keywords: leave-open
(Assignee)

Comment 6

2 years ago
For my own references,  IIRC, we built nsDisplayOpacity/nsDisplayTransform in visibility:hidden elements both on desktop and Android before.  But now it seems that nsDisplayTransform in visibility:hidden is built only on Android. In all other cases display items are no longer built.
(Assignee)

Comment 8

7 months ago
I will revisit this after we enabled stylo on Android.
Flags: needinfo?(hikezoe)
(Assignee)

Comment 9

5 months ago
test_restyles.html is getting more robust than before due to bug 1379515, bug 1421476, etc.

So I did push a try with enabling skipped test cases;

https://treeherder.mozilla.org/#/jobs?repo=try&revision=781d317e0e04415b5bfabadf06f79d165eaa442d

Yeah, the result looks pretty good.  Now it's the time to run the skipped test cases on Android too.
Assignee: nobody → hikezoe
Status: NEW → ASSIGNED
Flags: needinfo?(hikezoe)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
(Assignee)

Comment 12

5 months ago
Hmm, we can't reuse this bug for the new patch, the new patch marked as if it got already r+.  I will open a new bug.
(Assignee)

Updated

5 months ago
Depends on: 1427868
(Assignee)

Comment 13

5 months ago
Closing since bug 1427868 has been fixed.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 months ago
Resolution: --- → FIXED
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.