Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(540)

Issue 11783101: Make LayerTreeHost::animateLayers take a wall clock time in addition to a monotonic time (Closed)

Created:
7 years, 11 months ago by ajuma
Modified:
7 years, 9 months ago
Reviewers:
Ian Vollick, jamesr
CC:
chromium-reviews, cc-bugs_chromium.org, darin-cc_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Make LayerTreeHost::animateLayers take a wall clock time in addition to a monotonic time This is in preparation for enabling accelerated animations for orphaned layers. When this happens, LayerTreeHost::animateLayers will need the wall clock time when generating animation events for layer animation controllers belonging to orphaned layers (just like LayerTreeHostImpl::animateLayers already needs a wall clock time when generating animation events). BUG=129683

Patch Set 1 #

Total comments: 4

Patch Set 2 : Fix nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+23 lines, -11 lines) Patch
M cc/layer_tree_host.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M cc/layer_tree_host.cc View 1 2 chunks +6 lines, -6 lines 0 comments Download
M cc/thread_proxy.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M cc/thread_proxy.cc View 1 2 chunks +2 lines, -1 line 0 comments Download
M webkit/compositor_bindings/web_layer_tree_view_impl.h View 1 1 chunk +3 lines, -1 line 0 comments Download
M webkit/compositor_bindings/web_layer_tree_view_impl.cc View 1 1 chunk +9 lines, -1 line 0 comments Download

Messages

Total messages: 12 (0 generated)
ajuma
This is step 1 in the 3-step plan from https://chromiumcodereview.appspot.com/11783037/ for enabling accelerated animations for ...
7 years, 11 months ago (2013-01-10 19:23:45 UTC) #1
jamesr
Ian, this one's yours
7 years, 11 months ago (2013-01-14 21:54:16 UTC) #2
Ian Vollick
lgtm with nits. https://codereview.chromium.org/11783101/diff/1/webkit/compositor_bindings/web_layer_tree_view_impl.cc File webkit/compositor_bindings/web_layer_tree_view_impl.cc (right): https://codereview.chromium.org/11783101/diff/1/webkit/compositor_bindings/web_layer_tree_view_impl.cc#newcode163 webkit/compositor_bindings/web_layer_tree_view_impl.cc:163: base::Time wallClockFrameBeginTime = base::Time::FromInternalValue(wallClockFrameBeginTimeSeconds* base::Time::kMicrosecondsPerSecond); It ...
7 years, 11 months ago (2013-01-15 03:27:37 UTC) #3
ajuma
Fixed nits. https://chromiumcodereview.appspot.com/11783101/diff/1/webkit/compositor_bindings/web_layer_tree_view_impl.cc File webkit/compositor_bindings/web_layer_tree_view_impl.cc (right): https://chromiumcodereview.appspot.com/11783101/diff/1/webkit/compositor_bindings/web_layer_tree_view_impl.cc#newcode163 webkit/compositor_bindings/web_layer_tree_view_impl.cc:163: base::Time wallClockFrameBeginTime = base::Time::FromInternalValue(wallClockFrameBeginTimeSeconds* base::Time::kMicrosecondsPerSecond); On 2013/01/15 ...
7 years, 11 months ago (2013-01-15 16:24:08 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ajuma@chromium.org/11783101/9001
7 years, 11 months ago (2013-01-15 16:31:19 UTC) #5
commit-bot: I haz the power
Presubmit check for 11783101-9001 failed and returned exit status 1. Running presubmit commit checks ...
7 years, 11 months ago (2013-01-15 16:31:25 UTC) #6
ajuma
On 2013/01/15 16:31:25, I haz the power (commit-bot) wrote: > Missing LGTM from an OWNER ...
7 years, 11 months ago (2013-01-15 16:36:00 UTC) #7
jamesr
Color me confused. What's the relationship between orphan layers and needing wall clock time in ...
7 years, 11 months ago (2013-01-16 04:15:04 UTC) #8
Ian Vollick
On 2013/01/16 04:15:04, jamesr wrote: > Color me confused. What's the relationship between orphan layers ...
7 years, 11 months ago (2013-01-16 04:56:04 UTC) #9
jamesr
On 2013/01/16 04:56:04, vollick wrote: > On 2013/01/16 04:15:04, jamesr wrote: > > Color me ...
7 years, 11 months ago (2013-01-16 04:57:32 UTC) #10
Ian Vollick
On 2013/01/16 04:57:32, jamesr wrote: > On 2013/01/16 04:56:04, vollick wrote: > > On 2013/01/16 ...
7 years, 11 months ago (2013-01-16 05:24:40 UTC) #11
Ian Vollick
7 years, 11 months ago (2013-01-16 05:51:35 UTC) #12
On 2013/01/16 05:24:40, vollick wrote:
> On 2013/01/16 04:57:32, jamesr wrote:
> > On 2013/01/16 04:56:04, vollick wrote:
> > > On 2013/01/16 04:15:04, jamesr wrote:
> > > > Color me confused.  What's the relationship between orphan layers and
> > needing
> > > > wall clock time in more places?
> > > 
> > > Good question. We used to only issue animation events from the impl
thread.
> > > Rather than syncing these orphan layers just for this purpose, the main
> thread
> > > will (in a later patch) have the ability issue animation events for these
> > > layers. These events need the wall clock time.
> > 
> > Issue it to what? The only reason we deal with wall clock times at all is to
> > generate events for DOM elements that may register for animation events, but
> > when would we want to generate events for a layer that's not in the tree?
> 
> Issue it to the WebCore animation system. It can sometimes happen that main
> thread animations block waiting for the accelerated animation. It caused this
> bug: https://bugs.webkit.org/show_bug.cgi?id=95950. To get around this
problem,
> we had to say that if the layer wasn't in the tree, we couldn't accelerate its
> animations. This means that many animations (most transitions on android IIRC
--
> epenner, please correct me if that's wrong) are not accelerated. The point of
> the orphan layer and graphics layer factory stuff is to allow us to accelerate
> animations for layers that are not yet in the tree.

Sorry for the spam. I also wanted to mention that this was intended as a
workaround until the deeper issue in WebCore is fixed (transitions blocking
waiting for animations on layers not yet in the tree).  The issue seems to have
been around for a long time (https://bugs.webkit.org/show_bug.cgi?id=26770) and
my hope was that this could get us accelerating transitions in the short term.

Powered by Google App Engine
This is Rietveld 408576698