Skip to content
EliteChart

FrameScheduler

Documentation


Documentation / @elitechart/core / FrameScheduler

Defined in: scheduler/frame-scheduler.ts:86

Schedules drawing work by coalescing invalidate calls into one rAF tick.

Example

code
const s = new FrameScheduler((dirty) => paint(dirty));
s.invalidate(Layer.Series);
s.invalidate(Layer.Cursor); // same frame — both flags set on next paint

Constructors

Constructor

code
new FrameScheduler(draw): FrameScheduler;

Defined in: scheduler/frame-scheduler.ts:103

Parameters

draw

DrawCallback

Returns

FrameScheduler

Accessors

pending

Get Signature

code
get pending(): number;

Defined in: scheduler/frame-scheduler.ts:135

Current dirty mask (readonly snapshot — clears on next tick).

Returns

number

Methods

dispose()

code
dispose(): void;

Defined in: scheduler/frame-scheduler.ts:124

Stop the scheduler. After dispose, calls to invalidate are ignored.

Returns

void


flush()

code
flush(): void;

Defined in: scheduler/frame-scheduler.ts:117

Synchronously flush any pending work. Useful for tests.

Returns

void


getStats()

code
getStats(): SchedulerStats;

Defined in: scheduler/frame-scheduler.ts:143

Snapshot of rolling paint-time stats. Cheap to call — reads only. Returns zeros when no frame has rendered yet.

Returns

SchedulerStats


invalidate()

code
invalidate(layer): void;

Defined in: scheduler/frame-scheduler.ts:108

Mark one or more layers as dirty and ensure a paint is scheduled.

Parameters

layer

number

Returns

void