Closed Bug 1247800 Opened 5 years ago Closed 3 years ago

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

Categories

(Core :: DOM: Animation, defect)

ARM
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox47 --- affected

People

(Reporter: hiro, Assigned: hiro)

References

Details

Attachments

(1 file)

I notice this fast in bug 1235286 comment 16 first.  We should investigate it in further detail.
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
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
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
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.
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+
Keywords: leave-open
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.
I will revisit this after we enabled stylo on Android.
Flags: needinfo?(hikezoe)
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)
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.
Depends on: 1427868
Closing since bug 1427868 has been fixed.
Status: ASSIGNED → RESOLVED
Closed: 3 years 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.