ECS Framework API / ComponentPool
Class: ComponentPool<T>
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:6
组件对象池,用于复用组件实例以减少内存分配
Type Parameters
T
T extends Component
Constructors
Constructor
new ComponentPool<
T>(createFn,resetFn?,maxSize?,minSize?):ComponentPool<T>
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:19
Parameters
createFn
() => T
resetFn?
(component) => void
maxSize?
number = 1000
minSize?
number = 10
Returns
ComponentPool<T>
Methods
acquire()
acquire():
T
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:36
获取一个组件实例
Returns
T
release()
release(
component):void
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:51
释放一个组件实例回池中
Parameters
component
T
Returns
void
prewarm()
prewarm(
count):void
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:68
预填充对象池
Parameters
count
number
Returns
void
shrink()
shrink():
void
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:84
自动收缩池大小
Returns
void
clear()
clear():
void
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:93
清空对象池
Returns
void
getAvailableCount()
getAvailableCount():
number
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:100
获取池中可用对象数量
Returns
number
getMaxSize()
getMaxSize():
number
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:107
获取池的最大容量
Returns
number
getStats()
getStats():
object
Defined in: packages/core/src/ECS/Core/ComponentPool.ts:114
获取统计信息
Returns
object
totalCreated
totalCreated:
number
totalAcquired
totalAcquired:
number
totalReleased
totalReleased:
number
hitRate
hitRate:
number
currentSize
currentSize:
number
maxSize
maxSize:
number
minSize
minSize:
number
utilizationRate
utilizationRate:
number