Home > @esengine/ecs-framework-monorepo > DirtyTrackingSystem
DirtyTrackingSystem class
脏标记追踪系统
提供高效的组件和实体变更追踪,避免不必要的计算和更新。 支持细粒度的脏标记和批量处理机制。
Signature:
typescript
export declare class DirtyTrackingSystem
Example
typescript
const dirtySystem = new DirtyTrackingSystem();
// 标记实体的位置组件已修改
dirtySystem.markDirty(entity, DirtyFlag.TRANSFORM_CHANGED, [PositionComponent]);
// 监听位置变化
dirtySystem.addListener({
flags: DirtyFlag.TRANSFORM_CHANGED,
callback: (data) => {
logger.debug('Entity position changed:', data.entity.name);
}
});
// 处理所有脏标记
dirtySystem.processDirtyEntities();
Methods
Method | Modifiers | Description |
---|---|---|
添加脏标记监听器 | ||
开始新的帧 | ||
清空所有脏标记和统计信息 | ||
清除实体的脏标记 | ||
配置批量处理参数 | ||
结束当前帧 | ||
获取所有脏实体 | ||
获取统计信息 | ||
检查实体是否有指定的脏标记 | ||
标记实体为脏状态 | ||
批量处理脏实体 使用时间分片的方式处理脏实体,避免单帧卡顿 | ||
移除脏标记监听器 |