@pixi-essentials/object-pool
TypeScript icon, indicating that this package has built-in type declarations

0.0.5 • Public • Published

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 is 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.

Usage

import { ObjectPoolFactory } from 'pixi-object-pool';

const rpool: ObjectPoolFactory = ObjectPoolFactory.build(PIXI.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);

Package Sidebar

Install

npm i @pixi-essentials/object-pool@0.0.5

Version

0.0.5

License

MIT

Unpacked Size

82.5 kB

Total Files

10

Last publish

Collaborators

  • shukantpal