class
RenderLoop
requestAnimationFrame loop with frame timing, dirty checking, and FPS stats. Only renders when marked dirty.
Constructor
new RenderLoop(options?: RenderLoopOptions) | Parameter | Type | Description | |
|---|---|---|---|
options | RenderLoopOptions | optional | Loop configuration |
RenderLoopOptions
| Field | Type | Description | |
|---|---|---|---|
targetFps | number | optional | Target FPS (0 = unlimited) Default: 60 |
Properties
| Name | Type | Access | Description |
|---|---|---|---|
running | boolean | readonly | Whether the loop is active |
isDirty | boolean | readonly | Whether a render is pending |
Methods
markDirty()
markDirty(): void Signal that a render is needed.
Returns
void start()
start(): void Start the render loop.
Returns
void stop()
stop(): void Stop the render loop.
Returns
void onFrame()
onFrame(callback: (deltaMs: number, frameNumber: number) => void): void Register a frame callback.
Returns
void offFrame()
offFrame(callback: FrameCallback): void Remove a frame callback.
Returns
void getStats()
getStats(): FrameStats Get { fps, frameDurationMs, totalFrames, skippedFrames }.
Returns
FrameStats destroy()
destroy(): void Stop loop and release resources.
Returns
void