Jump to content
Search Community

Engine update frequency

jdier test
Moderator Tag

Warning: Please note

This thread was started before GSAP 3 was released. Some information, especially the syntax, may be out of date for GSAP 3. Please see the GSAP 3 migration guide and release notes for more information about how to update the code to GSAP 3's syntax. 

Recommended Posts

In the docs the "ticker" property is defined as 'The object 

that dispatches a "tick" event each time the engine updates,..'


Can anyone tell me the frequency of engine updates(for both AS

and Javascript)? For example are there 60 "ticks" per second? 

30? Is it strictly enforced or does it vary? 


Also is there any way to specify the number of engine updates 

per second? 





Link to comment
Share on other sites

I've had time to do a bit more searching and I found a codepen page


See the Pen lEiAv by GreenSock (@GreenSock) on CodePen


that has this bit of code at the beginning of the .js 




So it does look like you can specify frames per second, though I've yet to find

any reference to this in the docs, 



Link to comment
Share on other sites

Hi Jeff and welcome to the forums.


The engine indeed updates 60 times per second, because it runs on the Request Animation Frame method, you can read more in the following posts:





As far as specify the fps I believe that is not possible, but I'm not completely sure about it. Anyway I wouldn't recommend it because it could create an unexpected behaviour because basically if the ticker is working with the RAF method and it might disturb the proper function of it, but I leave it to Jack and/or Carl so they can give you a more complete answer. On a side note I'm very curious on why would you want to change the fps of the engine. Here you can read a little more about the RAF and it's intricacies:



Hope this helps,



Link to comment
Share on other sites

On why I would want to change the fps of the engine. I'm looking into

using Greensock to generate and sequence some target parameters

for a box2D physics simulation. If the default update frequency didn't

match the simulation's timestep, it might cause some issues and changing

Greensock's fps rather than the sims fps/timestep would be the preferred



The good news is the sim's fps is also 60, so that matches and things are 

at least heading in the right direction.


Browser animation is something I've not really dealt with before. My experience 

is with content creation stuff not web stuff; case in point, I was completely 

unaware of requestAnimationFrame which seems pretty darned important.


Lots of good info for me to chew on here, and that's much appreciated.





Link to comment
Share on other sites

Just for the record, when using requestAnimationFrame, the fps() setting acts like a throttle. Since you cannot tell the browser to crank out requestAnimationFrames at a higher rate than 60fps, you can't do something like TweenLite.ticker.fps(100). But you could do TweenLite.ticker.fps(30) and the engine will skip beats when necessary in order to get you as close as possible to 30fps (or whatever fps you set below 60). If you need something higher than 60fps (which I wouldn't really recommend generally), you could turn off requestAnimationFrame functionality in the ticker like this:


That'll cause it to use a regular setTimout() loop instead. But in general, I'd definitely recommend sticking with the default requestAnimationFrame as it typically yields best performance due to synchronizing with when the browser is doing paints. 


Happy tweening!

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...