Nonchalant Programming Master

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

    0.1.0 • Public • Published

    @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 📦

    npm install @pixi-essentials/object-pool

    Usage 📄

    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);

    Install

    npm i @pixi-essentials/object-pool

    DownloadsWeekly Downloads

    339

    Version

    0.1.0

    License

    MIT

    Unpacked Size

    88.6 kB

    Total Files

    10

    Last publish

    Collaborators

    • shukantpal