1.0.1 • Published 1 year ago

@pixi-essentials/object-pool v1.0.1

Weekly downloads
70
License
MIT
Repository
github
Last release
1 year ago

@pixi-essentials/object-pool

install size

This package implements a custom-tailored object pool for PixiJS applications. It provides the following features:

  • reserve: You can preallocate the pool size to have a set amount of objects.

  • limit: You can reduce the pool size after a lot of allocations.

  • auto-GC: The GC will reduce your pool to the reserve size after allocation demand goes down per-frame.

This package can also be used as a single-source of object pools. If two different libraries need a pool for say, PIXI.Rectangle, then the same object pool will be returned.

Analysis

  • You should use auto-GC only if allocations-per-frame is smooth (slowly increase & slowly decrease) or you know the upper limit of objects you need per frame.

Installation :package:

npm install @pixi-essentials/object-pool

Usage :page_facing_up:

import { ObjectPoolFactory } from '@pixi-essentials/object-pool';
import { Rectangle } from '@pixi/math';

const rpool: ObjectPoolFactory = ObjectPoolFactory.build(Rectangle);

rpool.reserve(10000);
rpool.startGC();// prevent pool from staying above 10,000 rectangles for too long

const rect: PIXI.Rectangle = rpool.allocate();

// do something

rpool.release(rect);

// Want to reduce pool size now?
rpool.limit(11000);
1.0.1

1 year ago

1.0.0

1 year ago

0.1.0

3 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.1

4 years ago

0.0.1-alpha.23

4 years ago

0.0.1-alpha.22

4 years ago

0.0.1-alpha.21

4 years ago

0.0.1-alpha.20

4 years ago

0.0.1-alpha.19

4 years ago

0.0.1-alpha.18

4 years ago

0.0.1-alpha.17

4 years ago

0.0.1-alpha.16

4 years ago

0.0.1-alpha.15

4 years ago

0.0.1-alpha.14

4 years ago

0.0.1-alpha.13

4 years ago

0.0.1-alpha.12

4 years ago

0.0.1-alpha.11

4 years ago

0.0.1-alpha.10

4 years ago

0.0.1-alpha.9

4 years ago

0.0.1-alpha.8

4 years ago

0.0.1-alpha.6

4 years ago

0.0.1-alpha.7

4 years ago

0.0.1-alpha.5

4 years ago

0.0.1-alpha.4

4 years ago

0.0.1-alpha.3

4 years ago

0.0.1-alpha.2

4 years ago

0.0.1-alpha.1

4 years ago

0.0.1-alpha.0

4 years ago