Bug 203568 - [Web Animations] Cache the output of getBasicTiming() and getComputedTiming() for animation resolution
Summary: [Web Animations] Cache the output of getBasicTiming() and getComputedTiming()...
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-10-29 09:22 PDT by Antoine Quint
Modified: 2019-11-30 08:02 PST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antoine Quint 2019-10-29 09:22:16 PDT
At the moment, running a CSS transition will yield these calls to AnimationEffect::getBasicTiming() and AnimationEffect::getComputedTiming():

>>>>> DocumentTimeline::updateAnimationsAndSendEvents()
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
    getBasicTiming() in WebAnimation::computeRelevance(), localTime is 0.017000.
    getBasicTiming() in AnimationEffect::getComputedTiming(), localTime is 0.017000.
    getComputedTiming() in DeclarativeAnimation::invalidateDOMEvents(), localTime is 17.000000.
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
<<<<< DocumentTimeline::updateAnimationsAndSendEvents()
    >>>>> TreeResolver::createAnimatedElementUpdate()
        getBasicTiming() in AnimationEffect::getComputedTiming(), localTime is 0.017000.
        getComputedTiming() in KeyframeEffect::apply(), localTime is 17.000000.
    <<<<< TreeResolver::createAnimatedElementUpdate()
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
    getBasicTiming() in WebAnimation::effectEndTime(), localTime is 0.017000.
>>>>> DocumentTimeline::updateAnimationsAndSendEvents()

Ideally, we should reduce this to a single call to getBasicTiming() and getComputedTiming().
Comment 1 Radar WebKit Bug Importer 2019-10-29 09:22:32 PDT
<rdar://problem/56708602>
Comment 2 Antoine Quint 2019-11-30 08:02:55 PST
I no longer think it makes sense or that it is feasible to do this.