Last Comment Bug 980770 - (enable-omt-animations) get off main thread animations (OMT Animations, OMTA) good enough to ship
(enable-omt-animations)
: get off main thread animations (OMT Animations, OMTA) good enough to ship
Status: RESOLVED FIXED
: meta
Product: Core
Classification: Components
Component: CSS Parsing and Computation (show other bugs)
: Trunk
: All All
P3 normal with 4 votes (vote)
: mozilla41
Assigned To: David Baron :dbaron: ⌚️UTC-8
:
: Jet Villegas (:jet)
Mentors:
: 788522 (view as bug list)
Depends on: 1039799 1108690 1210882 1213663 1252984 1255928 1280093 1305976 1330627 706179 788549 828173 847287 875209 947753 964646 969222 975261 978712 980769 1018862 1090555 1122526 1129245 1149906 1150288 1150535 1150619 1153426 1153539 1156456 1161049 1165196 1176969 1180509 1186061 1204336 1211487 1245075 1255646 1284720
Blocks: 759252 788522 1059557
  Show dependency treegraph
 
Reported: 2014-03-06 21:30 PST by David Baron :dbaron: ⌚️UTC-8
Modified: 2017-01-12 15:02 PST (History)
38 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---
fixed
fixed
41+


Attachments
Enable off-main-thread animations on all platforms with off-main-thread compositing (2.05 KB, patch)
2015-03-31 16:28 PDT, David Baron :dbaron: ⌚️UTC-8
no flags Details | Diff | Splinter Review
Enable off-main-thread animatinos on all platforms with off-main-thread compositing, for nightly/aurora (1.28 KB, patch)
2015-03-31 18:05 PDT, David Baron :dbaron: ⌚️UTC-8
bbirtles: review+
Details | Diff | Splinter Review
Fully enable (for RELEASE_BUILD) off-main-thread animations on all platforms with off-main-thread compositing (2.12 KB, patch)
2015-06-30 09:47 PDT, David Baron :dbaron: ⌚️UTC-8
bbirtles: review+
rkothari: approval‑mozilla‑aurora+
Details | Diff | Splinter Review

Description User image David Baron :dbaron: ⌚️UTC-8 2014-03-06 21:30:46 PST
Tracking bug for what we need to make off main thread animations (OMT Animations, OMTA) good enough to ship.
Comment 1 User image David Baron :dbaron: ⌚️UTC-8 2014-03-06 21:37:30 PST
(Note that it's already shipping on B2G, but with some pretty hideous bugs, and poor test coverage.)
Comment 2 User image David Baron :dbaron: ⌚️UTC-8 2015-03-11 18:39:20 PDT
Let's see how things look on try:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=0a310d156884
Comment 3 User image David Baron :dbaron: ⌚️UTC-8 2015-03-12 01:26:39 PDT
The try run isn't quite done yet, but the main thing it turned up is already bug 1090555 (test was previously disabled on Mulet; also now shows up on Android mochitest and on Linux mochitest-e10s).
Comment 4 User image David Baron :dbaron: ⌚️UTC-8 2015-03-22 11:27:35 PDT
A push with bug 1090555:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f5d5324ba171
Comment 5 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 16:28:01 PDT
Created attachment 8586449 [details] [diff] [review]
Enable off-main-thread animations on all platforms with off-main-thread compositing
Comment 6 User image Brian Birtles (:birtles) 2015-03-31 16:47:04 PDT
Comment on attachment 8586449 [details] [diff] [review]
Enable off-main-thread animations on all platforms with off-main-thread compositing

I thought we were only turning this on for nightly/aurora until blockers like bug 1122526 were resolved?
Comment 7 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 17:58:43 PDT
I guess we could do nightly/aurora first, although I'd hope to be able to ship to beta/release this cycle.
Comment 8 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 17:59:19 PDT
(Also, it's not clear to me that bug 1122526 is even related to OMT Animations.)
Comment 9 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 18:05:48 PDT
Created attachment 8586491 [details] [diff] [review]
Enable off-main-thread animatinos on all platforms with off-main-thread compositing, for nightly/aurora
Comment 10 User image Brian Birtles (:birtles) 2015-03-31 19:17:15 PDT
(In reply to David Baron [:dbaron] ⏰UTC-7 from comment #8)
> (Also, it's not clear to me that bug 1122526 is even related to OMT
> Animations.)

Sorry, that should be bug 1149865 which should definitely block shipping OMTA.
Comment 11 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 20:47:00 PDT
Landed enabling on nightly/aurora:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a765547ac232
Comment 12 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 21:46:08 PDT
Backed out in:
https://hg.mozilla.org/integration/mozilla-inbound/rev/e1083d2b2217
since there were some test failures that snuck in since my successful try run a few days ago:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6622f9ac9faf
Comment 13 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 21:47:25 PDT
(That successful try run was on top of https://hg.mozilla.org/mozilla-central/rev/e9769c80ee59 plus my patches to bug 847287.)
Comment 14 User image David Baron :dbaron: ⌚️UTC-8 2015-03-31 21:53:47 PDT
The relevant changes that are likely to have introduced the test failures are:
  bug 1109390 (patches 16 to 18 or patches 20 to 28)
  bug 1074630
  bug 1145246
Comment 15 User image Brian Birtles (:birtles) 2015-03-31 22:39:26 PDT
(In reply to David Baron [:dbaron] ⏰UTC-7 from comment #14)
> The relevant changes that are likely to have introduced the test failures
> are:
>   bug 1109390 (patches 16 to 18 or patches 20 to 28)
>   bug 1074630
>   bug 1145246

Debugging locally I can reproduce the failure in test_deferred_start.html.

The first changeset that fails for me is:

  https://hg.mozilla.org/integration/mozilla-inbound/rev/ded0fc853a7b

i.e. part 22 from bug 1109390

which is odd because that patch shouldn't really do anything (i.e. we shouldn't ever actually end up calling PauseAt without the later patches applied). Perhaps this only intermittently fails and I got lucky when testing the changeset below it.
Comment 16 User image Brian Birtles (:birtles) 2015-03-31 22:52:50 PDT
(In reply to Brian Birtles (:birtles) from comment #15)
> Perhaps this only intermittently fails and I got lucky when testing the changeset below it.

This appears to be the case. I still see the failure with patches 20 to 28 of bug 1109390 backed out.
Comment 17 User image Brian Birtles (:birtles) 2015-04-01 01:11:03 PDT
I've narrowed down the failure in test_deferred_start.html to this changeset:

  https://hg.mozilla.org/integration/mozilla-inbound/rev/d4306ea579d9
  i.e. part 18 of bug 1109390

The problem appears to be that we no longer treat play-pending animations as eligible compositor animations. This is a pretty significant bug so it's good we found it now. Bug and patch coming up.
Comment 18 User image Brian Birtles (:birtles) 2015-04-01 01:22:49 PDT
(In reply to Brian Birtles (:birtles) from comment #17)
> Bug and patch coming up.

That would be bug 1149906.
Comment 19 User image Brian Birtles (:birtles) 2015-04-01 06:19:08 PDT
(In reply to Brian Birtles (:birtles) from comment #18)
> (In reply to Brian Birtles (:birtles) from comment #17)
> > Bug and patch coming up.
> 
> That would be bug 1149906.

That bug appears to fix the failures in test_deferred_start.html but not the failures in test_animations_omta.html. I'll hopefully be able to look into that tomorrow.
Comment 21 User image David Baron :dbaron: ⌚️UTC-8 2015-04-01 20:36:23 PDT
https://hg.mozilla.org/integration/mozilla-inbound/rev/288ad0365a5e
Comment 22 User image David Baron :dbaron: ⌚️UTC-8 2015-04-01 22:06:08 PDT
Landed a followup to disable one test under some conditions after discussion with birtles:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6ea87def95b9

I filed bug 1150351 on reenabling the test.
Comment 23 User image David Baron :dbaron: ⌚️UTC-8 2015-04-01 22:21:34 PDT
Second followup, to requestLongerTimeout(2):
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2f72af9fc50
Comment 25 User image Carsten Book [:Tomcat] 2015-04-02 05:10:52 PDT
https://hg.mozilla.org/mozilla-central/rev/d2f72af9fc50
Comment 26 User image David Baron :dbaron: ⌚️UTC-8 2015-04-02 09:11:35 PDT
I relanded the enabling on platforms other than Mac:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9002c68ad577
but left it disabled on Mac, given bug 1150535.
Comment 27 User image David Baron :dbaron: ⌚️UTC-8 2015-04-02 13:00:40 PDT
Backed out again:
https://hg.mozilla.org/integration/mozilla-inbound/rev/de9e98d2658a
Comment 28 User image David Zbarsky (:dzbarsky) 2015-04-06 09:41:24 PDT
*** Bug 788522 has been marked as a duplicate of this bug. ***
Comment 29 User image David Baron :dbaron: ⌚️UTC-8 2015-04-06 11:25:17 PDT
Given that the Mac problem went away (see bug 1150535 comment 1), I relanded for all platforms other than Linux:
https://hg.mozilla.org/integration/mozilla-inbound/rev/eed5d2d610e2
Comment 30 User image Ryan VanderMeulen [:RyanVM] 2015-04-06 18:24:31 PDT
https://hg.mozilla.org/mozilla-central/rev/eed5d2d610e2
Comment 31 User image Gary [:streetwolf] 2015-04-07 07:31:13 PDT
The PanelUI contents appear washed out for a split second when displayed with the pref enabled on Windows 8.1.
Comment 32 User image Jim Jeffery not reading bug-mail 1/2/11 2015-04-07 07:32:39 PDT
(In reply to Gary [:streetwolf] from comment #31)
> The PanelUI contents appear washed out for a split second when displayed
> with the pref enabled on Windows 8.1.

Seeing the same on Win7 x64 m-c builds (tinderbox) win32
Comment 33 User image David Baron :dbaron: ⌚️UTC-8 2015-04-07 08:50:58 PDT
(In reply to Gary [:streetwolf] from comment #31)
> The PanelUI contents appear washed out for a split second when displayed
> with the pref enabled on Windows 8.1.

Could you file a separate bug on that -- and one that describes steps to reproduce for people who don't know what "PanelUI contents" are?
Comment 34 User image David Baron :dbaron: ⌚️UTC-8 2015-04-07 08:57:05 PDT
Bugs asking for additional features definitely don't block shipping the ones we have.
Comment 35 User image David Baron :dbaron: ⌚️UTC-8 2015-04-07 08:59:37 PDT
Bug 1105509 is definitely worth fixing, but it's no worse with OMT animations enabled than it was without it, so it definitely doesn't block shipping OMT animations.
Comment 36 User image Lawrence Mandel [:lmandel] (use needinfo) 2015-04-07 08:59:58 PDT
I'm tracking 40 so that we can keep an eye on this work and whether it is ready to ship in 40.

Release Note Request (optional, but appreciated)
[Why is this notable]: Performance improvement for opacity and transform animations.
[Suggested wording]: Better performance of opacity and transform animations
[Links (documentation, blog post, etc)]:
Comment 37 User image Gary [:streetwolf] 2015-04-07 09:02:39 PDT
The problem appears to be this one....  https://bugzilla.mozilla.org/show_bug.cgi?id=1122526
Comment 38 User image David Baron :dbaron: ⌚️UTC-8 2015-04-07 09:07:01 PDT
I don't think bug 1103207 blocks shipping OMTA on desktop either.  It's something we've lived with on Firefox OS, and OMTA doesn't change the fact that we're doing stuff at 60Hz when there's an animation that requires less frequency.  (We've never had lower-rate ticking of the refresh driver just like we don't have lower-rate ticking of the compositor.  OMT Animations moves that high-frequency work to different places; more on the compositor thread and less on the main thread.)  But I don't think it's a regression that requires us to fix before shipping.
Comment 39 User image David Baron :dbaron: ⌚️UTC-8 2015-04-07 09:09:53 PDT
(In reply to Lawrence Mandel [:lmandel] (use needinfo) from comment #36)
> I'm tracking 40 so that we can keep an eye on this work and whether it is
> ready to ship in 40.

So far we've only enabled ifndef RELEASE_BUILD, i.e., for nightly and aurora, so I think this probably isn't needed (yet).
Comment 40 User image David Baron :dbaron: ⌚️UTC-8 2015-04-16 17:53:57 PDT
I'm planning to enable on Linux as well now that bug 1150619 has gone away.

(I believe turning it on on Linux will affect only nightly and not other channels, because off-main-thread compositing (OMTC) is enabled on Linux only when Electrolysis (e10s) is enabled, which is only on nightly.)
Comment 42 User image Kartikaya Gupta (email:kats@mozilla.com) 2015-04-16 19:13:23 PDT
Bug 994541 just turned on OMTC on Linux by default, even without e10s. It should ride the trains on 40.
Comment 43 User image Ryan VanderMeulen [:RyanVM] 2015-04-17 13:05:14 PDT
https://hg.mozilla.org/mozilla-central/rev/76671894fe90
Comment 44 User image Lawrence Mandel [:lmandel] (use needinfo) 2015-04-27 08:10:50 PDT
Release Note Request (optional, but appreciated)
[Why is this notable]: OMTA provide smoother animations
[Suggested wording]: Smoother and more reliable CSS animations via asynchronous animations
[Links (documentation, blog post, etc)]:
https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing#CSS_Animations

Happy to have input on better wording for the note. ;)
Comment 45 User image Sylvestre Ledru [:sylvestre] 2015-06-01 01:25:55 PDT
Added to the release notes with Lawrence's wording.
Comment 46 User image David Baron :dbaron: ⌚️UTC-8 2015-06-01 14:24:47 PDT
The release notes for what?  It's currently enabled only for nightly/aurora (i.e., in an #else of #ifdef RELEASE_BUILD).
Comment 47 User image Sylvestre Ledru [:sylvestre] 2015-06-02 07:44:39 PDT
You don't think it is worth mentioning for the aurora release notes?
I can disable it after the merge.
Comment 48 User image David Baron :dbaron: ⌚️UTC-8 2015-06-30 09:47:35 PDT
Created attachment 8627751 [details] [diff] [review]
Fully enable (for RELEASE_BUILD) off-main-thread animations on all platforms with off-main-thread compositing
Comment 50 User image David Baron :dbaron: ⌚️UTC-8 2015-06-30 17:32:24 PDT
Comment on attachment 8627751 [details] [diff] [review]
Fully enable (for RELEASE_BUILD) off-main-thread animations on all platforms with off-main-thread compositing

Approval Request Comment
[Feature/regressing bug #]: OMT animations
[User impact if declined]: better performance of animations of opacity and transform
[Describe test coverage new/current, TreeHerder]: substantial mochitest and reftest coverage
[Risks and why]: it's a somewhat large feature, but I think it's now ready to ride the trains.  All this patch does is change it from enabled on nightly and aurora only to being enabled on all channels, since I believe that if bug 1122526 and bug 1176969 are approved, it's in good enough shape to ride the trains for this release.
[String/UUID change made/needed]: no
Comment 51 User image Carsten Book [:Tomcat] 2015-07-01 05:22:55 PDT
https://hg.mozilla.org/mozilla-central/rev/b9808ed3cacf
Comment 52 User image Ritu Kothari (:ritu) 2015-07-08 14:16:31 PDT
Comment on attachment 8627751 [details] [diff] [review]
Fully enable (for RELEASE_BUILD) off-main-thread animations on all platforms with off-main-thread compositing

Approving for uplift to Aurora. The patch has been in m-c for a few days and hasn't had a negative impact so far.
Comment 53 User image Ryan VanderMeulen [:RyanVM] 2015-07-10 08:27:50 PDT
https://hg.mozilla.org/releases/mozilla-aurora/rev/95ff4ba30e93
Comment 54 User image Liz Henry (:lizzard) (needinfo? me) 2015-08-04 13:17:08 PDT
We should probably relnote this for 41 now that it's going to release. Same wording as in comment 44 should be ok.
Comment 55 User image Sylvestre Ledru [:sylvestre] 2015-08-05 06:43:04 PDT
Indeed. I did it for 41! Thanks
Comment 56 User image David Baron :dbaron: ⌚️UTC-8 2015-09-17 06:56:07 PDT
Blog post about shipping: http://dbaron.org/log/20150916-compositor-animations

Note You need to log in before you can comment on or make changes to this bug.