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

Issue 347483002: Removing the animate step from DoSwapInternal as it happens in the ScheduleAnimate method now. (Closed)

Created:
6 years, 6 months ago by mithro-old
Modified:
6 years ago
CC:
chromium-reviews, cc-bugs_chromium.org
Project:
chromium
Visibility:
Public.

Description

Removing the animate step from DoSwapInternal as it happens in the ScheduleAnimate method now. R=skyostil,brianderson BUG=346230

Patch Set 1 #

Patch Set 2 : Trying to make layer_tree_host_unittest_animation actually fail. #

Patch Set 3 : Rebase onto master. #

Patch Set 4 : Rebase onto master. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -6 lines) Patch
M cc/trees/layer_tree_host_unittest_animation.cc View 1 2 3 3 chunks +8 lines, -1 line 0 comments Download
M cc/trees/thread_proxy.cc View 1 2 3 1 chunk +0 lines, -5 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
mithro-old
Hi, Any idea why DoSwapInternal calls animate? Should the animate method already have been called? ...
6 years, 6 months ago (2014-06-18 05:44:22 UTC) #1
ajuma
On 2014/06/18 05:44:22, mithro wrote: > Hi, > > Any idea why DoSwapInternal calls animate? ...
6 years, 6 months ago (2014-06-18 14:08:18 UTC) #2
Sami
On 2014/06/18 14:08:18, ajuma wrote: > On 2014/06/18 05:44:22, mithro wrote: > > Hi, > ...
6 years, 6 months ago (2014-06-18 16:32:23 UTC) #3
mithro-old
On 2014/06/18 16:32:23, Sami wrote: > On 2014/06/18 14:08:18, ajuma wrote: > > On 2014/06/18 ...
6 years, 6 months ago (2014-06-18 22:24:12 UTC) #4
simonhong
On 2014/06/18 22:24:12, mithro wrote: > On 2014/06/18 16:32:23, Sami wrote: > > On 2014/06/18 ...
6 years, 6 months ago (2014-06-19 00:51:02 UTC) #5
mithro-old
On 2014/06/19 00:51:02, simonhong wrote: > I also think the code removed in this cl ...
6 years, 6 months ago (2014-06-19 04:52:46 UTC) #6
simonhong
6 years, 6 months ago (2014-06-20 00:14:32 UTC) #7
On 2014/06/19 04:52:46, mithro wrote:
> On 2014/06/19 00:51:02, simonhong wrote:
> > I also think the code removed in this cl is not used anymore.
> > Animation is performed only once in the frame cycle.
> > When animation is set by SetNeedsAnimation() before starting the commit,
> > animation should be
> > triggered in the stage of BEGIN_IMPL_FRAME_STATE_BEGIN_FRAME_STARTING.
> > When animation is set in the middle of commit, animation also be triggered
> right
> > before DrawSwapInternal() is executed.
> > So, I think there is no chance to call LTHI->Animate() in the
> > DrawSwapInternal().
> 
> After discussing with ajuma, brianderson and skyostil here is a summary.
> 
> In the *COMMIT* we get new animations from the main thread. We want to start
> these animations before the DRAW otherwise there will be a frame delay between
> the main thread creating the animations and the animation starting.
> 
> This wasn't a problem before skyostils change to add an explicit ANIMATE state
> because all animation happened as part of the DRAW stage.
> 
> Long term myself, brianderson and skyostil agreed we should make the Scheduler
> understand that there are cases where it needs to do an ANIMATE between COMMIT
> and DRAW.
> 
> We also discovered that the
LayerTreeHostAnimationTestAddAnimationAfterAnimating
> test is broken and not actually testing the COMMIT->DRAW without ANIMATE
steps.
> 
> To current plan is;
>  1) Fix LayerTreeHostAnimationTestAddAnimationAfterAnimating (in a different
CL)
> to actually test the case we want it to.
>  2) Confirm this CL is broken and then change it to call ScheduleActionAnimate
> rather than Animate directly.
>  3) Create a new CL which makes the Scheduler understand the need to call
> ScheduleActionAnimate between COMMIT and DRAW (and remove the
> ScheduleActionAnimate call added in 1.)
> 
> Tim

Thanks for sharing this good summary!

Powered by Google App Engine
This is Rietveld 408576698