Class: Ticker

PIXI.Ticker

A Ticker class that runs an update loop that other objects listen to.

This class is composed around listeners meant for execution on the next requested animation frame. Animation frames are requested only when necessary, e.g. When the ticker is started and the emitter has listeners.

new PIXI.Ticker ()

Members

PIXI.Ticker.shared PIXI.Ticker static

The shared ticker instance used by PIXI.AnimatedSprite and by PIXI.VideoResource to update animation frames / video textures.

It may also be used by PIXI.Application if created with the sharedTicker option property set to true.

The property PIXI.Ticker#autoStart is set to true for this instance. Please follow the examples for usage, including how to opt-out of auto-starting the shared ticker.

Examples
let ticker = PIXI.Ticker.shared;
// Set this to prevent starting this ticker when listeners are added.
// By default this is true only for the PIXI.Ticker.shared instance.
ticker.autoStart = false;
// FYI, call this to ensure the ticker is stopped. It should be stopped
// if you have not attempted to render anything yet.
ticker.stop();
// Call this when you are ready for a running shared ticker.
ticker.start();
// You may use the shared ticker to render...
let renderer = PIXI.autoDetectRenderer();
let stage = new PIXI.Container();
document.body.appendChild(renderer.view);
ticker.add(function (time) {
    renderer.render(stage);
});
// Or you can just update it manually.
ticker.autoStart = false;
ticker.stop();
function animate(time) {
    ticker.update(time);
    renderer.render(stage);
    requestAnimationFrame(animate);
}
animate(performance.now());

PIXI.Ticker.system PIXI.Ticker static

The system ticker instance used by PIXI.interaction.InteractionManager and by PIXI.BasePrepare for core timing functionality that shouldn't usually need to be paused, unlike the shared ticker which drives visual animations and rendering which may want to be paused.

The property PIXI.Ticker#autoStart is set to true for this instance.

autoStart boolean

Whether or not this ticker should invoke the method PIXI.Ticker#start automatically when a listener is added.

Default Value:
  • false

deltaMS number

Scaler time elapsed in milliseconds from last frame to this frame. This value is capped by setting PIXI.Ticker#minFPS and is scaled with PIXI.Ticker#speed. Note: The cap may be exceeded by scaling. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs. Defaults to target frame time

Default Value:
  • 16.66

deltaTime number

Scalar time value from last frame to this frame. This value is capped by setting PIXI.Ticker#minFPS and is scaled with PIXI.Ticker#speed. Note: The cap may be exceeded by scaling.

Default Value:
  • 1

elapsedMS number

Time elapsed in milliseconds from last frame to this frame. Opposed to what the scalar PIXI.Ticker#deltaTime is based, this value is neither capped nor scaled. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs. Defaults to target frame time

Default Value:
  • 16.66

FPS number readonly

The frames per second at which this ticker is running. The default is approximately 60 in most modern browsers. Note: This does not factor in the value of PIXI.Ticker#speed, which is specific to scaling PIXI.Ticker#deltaTime.

lastTime number

The last time PIXI.Ticker#update was invoked. This value is also reset internally outside of invoking update, but only when a new animation frame is requested. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs.

Default Value:
  • -1

maxFPS number

Manages the minimum amount of milliseconds allowed to elapse between invoking PIXI.Ticker#update. This will effect the measured value of PIXI.Ticker#FPS. When setting this property it is clamped to a value between 1 and TARGET_FPMS * 1000.

Default Value:
  • 60

minFPS number

Manages the maximum amount of milliseconds allowed to elapse between invoking PIXI.Ticker#update. This value is used to cap PIXI.Ticker#deltaTime, but does not effect the measured value of PIXI.Ticker#FPS. When setting this property it is clamped to a value between 0 and PIXI.settings.TARGET_FPMS * 1000.

Default Value:
  • 10

speed number

Factor of current PIXI.Ticker#deltaTime.

Default Value:
  • 1
Example
// Scales ticker.deltaTime to what would be
// the equivalent of approximately 120 FPS
ticker.speed = 2;

started boolean

Whether or not this ticker has been started. true if PIXI.Ticker#start has been called. false if PIXI.Ticker#stop has been called. While false, this value may change to true in the event of PIXI.Ticker#autoStart being true and a listener is added.

Default Value:
  • false

Methods

add (fn, context, priority)PIXI.Ticker

Register a handler for tick events. Calls continuously unless it is removed or the ticker is stopped.

Name Type Default Description
fn function

The listener function to be added for updates

context * optional

The listener context

priority number PIXI.UPDATE_PRIORITY.NORMAL optional

The priority for emitting

Returns:
Type Description
PIXI.Ticker This instance of a ticker

addOnce (fn, context, priority)PIXI.Ticker

Add a handler for the tick event which is only execute once.

Name Type Default Description
fn function

The listener function to be added for one update

context * optional

The listener context

priority number PIXI.UPDATE_PRIORITY.NORMAL optional

The priority for emitting

Returns:
Type Description
PIXI.Ticker This instance of a ticker

destroy ()

Destroy the ticker and don't use after this. Calling this method removes all references to internal events.

remove (fn, context)PIXI.Ticker

Removes any handlers matching the function and context parameters. If no handlers are left after removing, then it cancels the animation frame.

Name Type Description
fn function

The listener function to be removed

context * optional

The listener context to be removed

Returns:
Type Description
PIXI.Ticker This instance of a ticker

start ()

Starts the ticker. If the ticker has listeners a new animation frame is requested at this point.

stop ()

Stops the ticker. If the ticker has requested an animation frame it is canceled at this point.

update (currentTime)

Triggers an update. An update entails setting the current PIXI.Ticker#elapsedMS, the current PIXI.Ticker#deltaTime, invoking all listeners with current deltaTime, and then finally setting PIXI.Ticker#lastTime with the value of currentTime that was provided. This method will be called automatically by animation frame callbacks if the ticker instance has been started and listeners are added.

Name Type Default Description
currentTime number performance.now() optional

the current time of execution