Skip to content

Configuration

interface IWorkerSystemConfig {
enableWorker?: boolean;
workerCount?: number;
entitiesPerWorker?: number;
systemConfig?: unknown;
useSharedArrayBuffer?: boolean;
entityDataSize?: number;
maxEntities?: number;
workerScriptPath?: string;
}

Data serialized between main thread and Workers:

constructor() {
super(matcher, {
enableWorker: true,
useSharedArrayBuffer: false,
workerCount: 2
});
}

Use case: Complex calculations, moderate entity count

Zero-copy data sharing for large-scale simple calculations:

constructor() {
super(matcher, {
enableWorker: true,
useSharedArrayBuffer: true,
entityDataSize: 6,
maxEntities: 10000
});
}

Use case: Many entities with simple calculations

const info = this.getWorkerInfo();
// { enabled, workerCount, maxSystemWorkerCount, currentMode, ... }