Animation Worklet - main thread should peek only when animation input time has changed |
||||||
Issue descriptionCurrently, on main thread we don't optimize PEEK to take animation input time into account. In CC we only ask for update if animation input time has changed since the last update. We should implement something similar on main thread as well. The implication of the current main thread un-optimized behavior is that if we have a scroll-linked worklet animation, the main thread peeks and waked up AnimationWorklet thread every frame even if scroller has not scrolled.
,
Dec 14
,
Jan 8
,
Jan 8
,
Jan 11
,
Jan 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e21c19877108d278decc483c238d5c63f6e45c5f commit e21c19877108d278decc483c238d5c63f6e45c5f Author: Yi Gu <yigu@chromium.org> Date: Tue Jan 15 23:59:14 2019 [Animation Worklet] Main thread only peeks when necessary Currently on main thread we peek the composited properties every frame. Rather, we should peek if: - the last peek request has not been fulfilled. i.e. worklet has not produced local times or - input time has changed. This change ensures we only peek when needed which is particularly beneficial for scroll-linked animations where the input may not change for many frames. Bug: 914957 Change-Id: I668bdb24b87a3bf669bc0a236427673795578b77 Reviewed-on: https://chromium-review.googlesource.com/c/1406142 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#622885} [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation.h [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc
,
Jan 16
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e21c19877108d278decc483c238d5c63f6e45c5f commit e21c19877108d278decc483c238d5c63f6e45c5f Author: Yi Gu <yigu@chromium.org> Date: Tue Jan 15 23:59:14 2019 [Animation Worklet] Main thread only peeks when necessary Currently on main thread we peek the composited properties every frame. Rather, we should peek if: - the last peek request has not been fulfilled. i.e. worklet has not produced local times or - input time has changed. This change ensures we only peek when needed which is particularly beneficial for scroll-linked animations where the input may not change for many frames. Bug: 914957 Change-Id: I668bdb24b87a3bf669bc0a236427673795578b77 Reviewed-on: https://chromium-review.googlesource.com/c/1406142 Commit-Queue: Yi Gu <yigu@chromium.org> Reviewed-by: Majid Valipour <majidvp@chromium.org> Cr-Commit-Position: refs/heads/master@{#622885} [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation.cc [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation.h [modify] https://crrev.com/e21c19877108d278decc483c238d5c63f6e45c5f/third_party/blink/renderer/modules/animationworklet/worklet_animation_test.cc
,
Jan 16
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by majidvp@chromium.org
, Dec 13