New issue
Advanced search Search tips

Issue 591607 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocked on:
issue 620137

Blocking:
issue 577016



Sign in to add a comment

Fix cubic-bezier inconsistency in Blink and CC

Project Member Reported by loyso@chromium.org, Mar 3 2016

Issue description

Cubic-bezier accuracy in blink depends on duration.
Cubic-bezier accuracy in CC doesn't.

Currently in tests we want to achieve desired accuracy for splines using a specific duration.

// Reverse the blink::accuracyForDuration function to calculate duration
// from epsilon.
// Taken from cubic_bezier.cc:
var kBezierEpsilon = 1e-7;

https://codereview.chromium.org/1360233004/patch/40001/50004

Duration mustn't affect cc/blink consistency.

 

Comment 1 by loyso@chromium.org, Mar 3 2016

Labels: Hotlist-CodeHealth

Comment 2 by loyso@chromium.org, Mar 3 2016

Blocking: 577016

Comment 3 by loyso@chromium.org, May 26 2016

Labels: Update-quarterly

Comment 4 by suzyh@chromium.org, May 26 2016

Components: -Internals>Compositing>Animation

Comment 5 by loyso@chromium.org, Jun 15 2016

Blockedon: 620137

Comment 6 by loyso@chromium.org, Oct 6 2016

Labels: -Pri-2 Pri-3

Comment 7 by loyso@chromium.org, Nov 2 2016

Labels: -Type-Bug Type-Feature

Comment 8 by loyso@chromium.org, Nov 9 2016

Cc: loyso@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 10 by suzyh@google.com, Jan 24 2017

Labels: Hotlist-Squash-A-Bug

Comment 11 by loyso@chromium.org, Jan 24 2017

Be careful: this may cause performance degradation if many animations (the cubic bezier solver will take significantly more iterations to find a solution)
We should try using the cc accuracy level in Blink first and see if it's fine.
I'd check it by testing deviation from Firefox and other browsers and seeing if it increases significantly.
Blink bases its cubic bezier accuracy on the effect's duration:
https://cs.chromium.org/chromium/src/?q=function:AccuracyForDuration
while the compositor uses a constant: https://cs.chromium.org/search/?q=kBezierEpsilon

Sign in to add a comment