title | description |
---|---|
Render Loop |
Schedule functions to run on Popmotion's internal render loop. |
The Popmotion render loop execute four sequential steps, once per frame.
frameStart
frameUpdate
frameRender
frameEnd
Developers can set any function to run at any of these steps using the on
and cancel
callbacks:
onFrameStart
,cancelOnFrameStart
onFrameUpdate
,cancelOnFrameUpdate
: Actions update hereonFrameRender
,cancelOnFrameRender
: Renderers render hereonFrameEnd
,cancelOnFrameEnd
timeSinceLastFrame
and currentFrameTimestamp
methods allow frame-locked time measurements.
import {
timeSinceLastFrame,
onFrameStart,
cancelFrameStart
} from 'popmotion';
function logTimeSinceLastFrame() {
console.log(timeSinceLastFrame());
onFrameStart(logTimeSinceLastFrame);
}
onFrameStart(logTimeSinceLastFrame);
function stopLogging() {
cancelOnFrameStart(logTimeSinceLastFrame);
}
setTimeout(stopLogging, 5000);