PIXI.Ticker

class 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.

Summary


Properties from Ticker

Methods from Ticker

this
add(fn: TickerCallback<T>, context: T, priority: number)
this
addOnce(fn: TickerCallback<T>, context: T, priority: number)
void
destroy()

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

this
remove(fn: TickerCallback<T>, context: T)
void
start()

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

void
stop()

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

void
update(currentTime: number)

Public Properties


shared Ticker.ts:512
static shared: PIXI.Ticker

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.


 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());
system Ticker.ts:564
static system: PIXI.Ticker

The system ticker instance used by PIXI.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 Ticker.ts:22
autoStart: boolean = false

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

count Ticker.ts:289
count: number

The number of listeners on this ticker, calculated by walking through linked list

deltaMS Ticker.ts:35
deltaMS: number = 16.66

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

deltaTime Ticker.ts:28
deltaTime: number = 1

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.

elapsedMS Ticker.ts:46
elapsedMS: number = 16.66

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

FPS Ticker.ts:438
FPS: number

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 Ticker.ts:56
lastTime: number = -1

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.

maxFPS Ticker.ts:478
maxFPS: number = 0

Manages the minimum amount of milliseconds required to elapse between invoking PIXI.Ticker#update. This will effect the measured value of PIXI.Ticker#FPS. If it is set to 0, then there is no limit; PixiJS will render as many frames as it can. Otherwise it will be at least minFPS

minFPS Ticker.ts:452
minFPS: number = 10

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.

speed Ticker.ts:64
speed: number = 1

Factor of current PIXI.Ticker#deltaTime.


 // Scales ticker.deltaTime to what would be
 // the equivalent of approximately 120 FPS
 ticker.speed = 2;
started Ticker.ts:72
started: boolean = false

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.

Public Methods


add Ticker.ts:185
add(fn: TickerCallback<T>, context: T, priority: number) → {this}

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

Parameters:
Name Type Attributes Default Description
fn TickerCallback<T>

The listener function to be added for updates

context T

<optional>

The listener context

priority number

<optional>

PIXI.UPDATE_PRIORITY.NORMAL

The priority for emitting

Returns:
Type Description
this

This instance of a ticker

addOnce Ticker.ts:198
addOnce(fn: TickerCallback<T>, context: T, priority: number) → {this}

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

Parameters:
Name Type Attributes Default Description
fn TickerCallback<T>

The listener function to be added for one update

context T

<optional>

The listener context

priority number

<optional>

PIXI.UPDATE_PRIORITY.NORMAL

The priority for emitting

Returns:
Type Description
this

This instance of a ticker

destroy Ticker.ts:332
destroy() → {void}

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

Returns:
Type Description
void
remove Ticker.ts:255
remove(fn: TickerCallback<T>, context: T) → {this}

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

Parameters:
Name Type Attributes Description
fn TickerCallback<T>

The listener function to be removed

context T

<optional>

The listener context to be removed

Returns:
Type Description
this

This instance of a ticker

start Ticker.ts:312
start() → {void}

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

Returns:
Type Description
void
stop Ticker.ts:322
stop() → {void}

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

Returns:
Type Description
void
update Ticker.ts:351
update(currentTime: number) → {void}

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.

Parameters:
Name Type Attributes Default Description
currentTime number

<optional>

performance.now()

the current time of execution

Returns:
Type Description
void

Powered by webdoc!