New issue
Advanced search Search tips
Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocked on:
issue 731727

Blocking:
issue 791281
issue 430155


Participants' hotlists:
AnimationWorklet-MVP


Sign in to add a comment
link

Issue 791280: [animationworklet] Schedule LayerTreeMutator::Mutate calls asynchronously.

Reported by flackr@chromium.org, Dec 2 2017 Project Member

Issue description

As described on the e-mail thread and document here:
https://groups.google.com/a/chromium.org/forum/#!topic/animations-dev/Uwx-y6rOJXs

When we post for mutations in  issue 731727  we should continue doing other compositing work, and receive the result of mutation asynchronously.
 

Comment 1 by flackr@chromium.org, Dec 2 2017

Blocking: 791281

Comment 2 by kainino@chromium.org, Dec 8 2017

Status: Available (was: Untriaged)
Marking available, doesn't seem "untriaged" to me.

Comment 3 by kainino@chromium.org, Dec 8 2017

Status: Assigned (was: Available)
Actually, assigned, because it has an owner.

Comment 4 by petermayo@chromium.org, Feb 2 2018

Labels: -Type-Bug Type-Feature

Comment 5 by petermayo@chromium.org, Feb 2 2018

Blocking: 430155

Comment 6 by petermayo@chromium.org, Apr 12 2018

Owner: ----
Status: Available (was: Assigned)

Comment 7 by majidvp@chromium.org, Apr 25 2018

Labels: Hotlist-Experimental

Comment 8 by kevers@chromium.org, Oct 3

Owner: kevers@chromium.org

Comment 9 by kevers@chromium.org, Oct 3

Status: Assigned (was: Available)

Comment 10 by majidvp@chromium.org, Oct 5

Cc: flackr@chromium.org petermayo@chromium.org
 Issue 834452  has been merged into this issue.

Comment 11 by majidvp@chromium.org, Jan 8

Labels: -Pri-3 Pri-2

Comment 12 by petermayo@chromium.org, Jan 9

Cc: -petermayo@chromium.org

Comment 13 by bugdroid1@chromium.org, Jan 14

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ac5834799e95fa56c0d308ab38115a50fac15801

commit ac5834799e95fa56c0d308ab38115a50fac15801
Author: Kevin Ellis <kevers@chromium.org>
Date: Mon Jan 14 21:14:49 2019

Refactor synchronous dispatching of mutation requests in anticipation of async mutations.

* Splits out reusable functionality in the mutate method in order to share between the sync and async versions.

Bug: 791280
Change-Id: I2aefe1699954a5808ea28332c7a9cadb7808b68d
Reviewed-on: https://chromium-review.googlesource.com/c/1399022
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622603}
[modify] https://crrev.com/ac5834799e95fa56c0d308ab38115a50fac15801/third_party/blink/renderer/platform/graphics/DEPS
[modify] https://crrev.com/ac5834799e95fa56c0d308ab38115a50fac15801/third_party/blink/renderer/platform/graphics/animation_worklet_mutator_dispatcher_impl.cc
[modify] https://crrev.com/ac5834799e95fa56c0d308ab38115a50fac15801/third_party/blink/renderer/platform/graphics/animation_worklet_mutator_dispatcher_impl.h
[modify] https://crrev.com/ac5834799e95fa56c0d308ab38115a50fac15801/third_party/blink/renderer/platform/graphics/animation_worklet_mutator_dispatcher_impl_test.cc

Comment 14 by bugdroid, Jan 23

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b305a61552763f99556cf617ecf4dfafdd9df800

commit b305a61552763f99556cf617ecf4dfafdd9df800
Author: Kevin Ellis <kevers@chromium.org>
Date: Wed Jan 23 15:22:21 2019

Implement asynchronous mutation of animation worklets.

* Adds MutateAynchronously method to the mutator dispatcher.
* Adds tests for ansynchronous mutation.
* Stubs in API for notification of mutation state (pending/complete).

Note async mutations are not used outside of testing with the patch pending completion of the notification plumbing in a separate CL.

Bug: 791280
Change-Id: I91545306c71899945f797a641831257247849b86
Reviewed-on: https://chromium-review.googlesource.com/c/1409600
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Majid Valipour <majidvp@chromium.org>
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Cr-Commit-Position: refs/heads/master@{#625199}

Comment 15 by bugdroid, Feb 5

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cc8563c1b715a2ffdb378bf5808304144a395e02

commit cc8563c1b715a2ffdb378bf5808304144a395e02
Author: Kevin Ellis <kevers@chromium.org>
Date: Tue Feb 05 18:41:09 2019

Support async mutations in cc scheduler.

* Defer tick of animation worklets until draw to allow time for pending mutations to complete.
* Add plumbing for notifying scheduler that mutations are pending.
* Block activation and immediate draw if there are pending mutations.

See also https://chromium-review.googlesource.com/c/chromium/src/+/1409600
Remaining step: Plumb pending/ready state from mutator dispatcher through to cc scheduler.


Bug: 791280
Change-Id: I3d3f33b5b069853771207b902ff97baf347364a3
Reviewed-on: https://chromium-review.googlesource.com/c/1412513
Commit-Queue: Kevin Ellis <kevers@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#629234}
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/animation/animation_host.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/animation/animation_host.h
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/animation/animation_host_unittest.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/scheduler/scheduler.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/scheduler/scheduler.h
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/scheduler/scheduler_state_machine.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/scheduler/scheduler_state_machine.h
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/scheduler/scheduler_state_machine_unittest.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/cc8563c1b715a2ffdb378bf5808304144a395e02/cc/trees/mutator_host.h

Sign in to add a comment