Skip to content

ECS Framework API v2.2.13


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

Released under the MIT License.