Intent to Experiment: Animation Worklet

瀏覽次數:504 次
跳到第一則未讀訊息

Majid Valipour

未讀,
2018年2月13日 下午4:21:422018/2/13
收件者:blink-dev

Contact emails

maj...@chromium.org, fla...@chromium.org


Spec

https://wicg.github.io/animation-worklet/


Summary

The Animation Worklet API enables a new class of script-driven and statefull animations within Web Animation’s ecosystem. Furthermore it allows such animations to run in parallel worklet execution contexts thus providing performance isolation from the main thread. ScrollTimeline is a new type of animation timeline that allows animations to be linked to scroll offset of another element. We believe combined, these primitives enable high performance scroll-linked and procedural animations on the web.



Link to “Intent to Implement” blink-dev discussion

https://groups.google.com/a/chromium.org/d/msg/blink-dev/7CiC3CaPHek/Cy0CN0R6AwAJ



Goals for experimentation

Our goal is to validate that the API provides sufficient functionality to address developers needs in practice. The API was made more restrictive to better fit the web animations model and we like to ensure it is still powerful enough for its intended usage.


Also we intend to get feedback on potential improvements in user experience, particularly animation smoothness and page interactivity. During the experiment, we plan to monitor specific metrics related to frame rate, responsiveness, memory usage, and Javascript execution time on the animation worklet thread to better understand associated costs and improvements in real world scenarios.


Experimental timeline

We like to run the experiment for two milestones. Below is the timeline for Stable channel:

Enabled: Chrome 66 Stable - April 17th, 2018 **

Disabled: Chrome 68 Stable - July 24th, 2018


** Dates are estimates from https://www.chromium.org/developers/calendar

Any risks when the experiment finishes?

The developers will lose access to the API but given that they can detect the feature availability, we expect them to fallback to the existing methods for providing the same effects (mainly relying on window.requestAnimationFrame on main thread).


Reason this experiment is being extended

N/A


Ongoing technical constraints

None


Debuggability

Devtools is already able to show threaded worklets in sources panel and it supports adding breakpoints for scripts running in worklet thread.


Will this feature be supported on all five Blink platforms supported by Origin Trials (Windows, Mac, Linux, Chrome OS, and Android)?

Yes


Link to entry on the feature dashboard

https://www.chromestatus.com/feature/5762982487261184


Rick Byers

未讀,
2018年2月13日 下午6:09:562018/2/13
收件者:Majid Valipour、blink-dev
LGTM

I'm really excited to hear how this performs in practice!  Any chance we can get UMA comparing worklet smoothness metrics with main thread smoothness (i.e. what a dev could achieve with RAF today)?  Being able to say "X% fewer dropped frames in the wild on real Android devices" could be valuable data in weighing the cost/benefit tradeoff.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB8RdXsf7kYpais9nMoG9s_h_fKA-M5FbQUzGZqEReJ-DcrDgw%40mail.gmail.com.

Majid Valipour

未讀,
2018年2月15日 下午2:27:322018/2/15
收件者:Rick Byers、Majid Valipour、blink-dev
On Tue, Feb 13, 2018 at 6:09 PM Rick Byers <rby...@google.com> wrote:
LGTM

I'm really excited to hear how this performs in practice!  Any chance we can get UMA comparing worklet smoothness metrics with main thread smoothness (i.e. what a dev could achieve with RAF today)?  Being able to say "X% fewer dropped frames in the wild on real Android devices" could be valuable data in weighing the cost/benefit tradeoff.

We were actually thinking about doing something like this and I was discussing with origin trial experts to see if it is possible to combine and origin trial with a finch experiment to enable A/B testing based on UMA metrics. Here is a small doc (internal only) I put together about the metrics we plan to monitor.

Majid

 

Majid Valipour

未讀,
2018年10月10日 上午9:22:532018/10/10
收件者:blink-dev、Rick Byers
We didn't start the origin trial on our originally planned milestone. The decision was made based on early feedback we received. Since then we have focused on fixing issues, improving performance, and enabling support for animating all properties.

We are now ready to start the trial and here is the proposed new timeline.

Experimental timeline

We will run the experiment for two milestones. Timeline for Stable channel:

Enabled: Chrome 71 Stable - Dec 4th, 2018

Disabled: Chrome 73 Stable


A blog post with more detail on usage and how to sign up will be published shortly.

Thanks,
Majid

Majid Valipour

未讀,
2019年3月12日 下午5:03:302019/3/12
收件者:Majid Valipour、blink-dev、Rick Byers、Ali Ghassemi
I like to extend this experiment until M75 stable. 

We have been collaborating with AMP animation team to re-implement their scrollbound animations system to use AnimationWorklet+ScrollTimeline.

Their usage has been providing us with valuable feedback. I will soon be sharing a summary of our findings so far but in particular we will be proposing specific changes to ScrollTimeline API to improve its ergonomics. While we are reworking ScrollTimeline APIs, I like to continue this trial with current API with the aim of learning more in particular about Animation Worklet performance at scale.

Majid

Philip Jägenstedt

未讀,
2019年3月14日 上午8:35:102019/3/14
收件者:Majid Valipour、blink-dev、Rick Byers、Ali Ghassemi
LGTM to continue experimenting

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.

malikabenab...@gmail.com

未讀,
2019年3月20日 下午5:49:342019/3/20
收件者:blink-dev

Majid Valipour

未讀,
2019年3月22日 下午4:22:352019/3/22
收件者:Philip Jägenstedt、blink-dev、Rick Byers、Ali Ghassemi
Thanks Philip!
Here is the summary of our leanings from this origin trial so far. We have already opened issues in the upstream specification (e.g., 12) to suggests changes based on this.

Majid
 
回覆所有人
回覆作者
轉寄
0 則新訊息