<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>307776</bug_id>
          
          <creation_ts>2026-02-13 01:55:06 -0800</creation_ts>
          <short_desc>[threaded-animations] account for velocity for a transform-related animation to be high impact</short_desc>
          <delta_ts>2026-05-13 14:20:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>307423</dependson>
    
    <dependson>307554</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>johannes.odland</cc>
    
    <cc>luke</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2181199</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2026-02-13 01:55:06 -0800</bug_when>
    <thetext>We added a new `ThreadedTimeBasedAnimationsAtHighFrameRateEnabled` flag in 307177@main to only update monotonic threaded animations at 60Hz on iOS while we work on selectively opting in only &quot;high impact&quot; animations to run at a higher frame rate. 

We introduced the notion of &quot;high impact&quot; animations in 307339@main and only run high frame rate updates for those on iOS (provided that flag is enabled). This meant only transform-related animations can opt into a high frame rate.

We need to be more selective still and only opt into transform animations that actually are high impact, for instance those that will travel on screen at a velocity that would be visually be improved with updates above 60Hz.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2181200</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-02-13 01:55:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/170304142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2210533</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2026-05-13 09:03:50 -0700</bug_when>
    <thetext>The initial approach to this in 307339@main was to determine whether an animation has a &quot;high impact&quot; before it gets uploaded to the remote layer tree.

But I think another, possibly better, option is to have a remote animation stack in the remote layer tree track the transformed bounds of its target through the last few animated frames and compute the traveled distance for the element there. This would let the display link update its refresh rate dynamically as animations enter and leave phases where they have a &quot;high impact&quot; rather than computing it wholesale for the entire duration of an animation. This would also compute this at the scope of an entire animation stack, which will account for all the complexities of iterations, composition, etc.

I&apos;m working towards that second option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2210634</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2026-05-13 14:20:54 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/64867</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>