Object Pooling
Depending on your project, you might want to avoid Map Graph from generating garbage when generating maps during gameplay critical moments. To avoid triggering the garbage generator, you can enable object pooling.
To enable object pooling.
- Select the object with the Map Graph Runner component on it in the hierarchy window.
- Look for the Enable Object Pooling option and enable it.
With this option enabled, Map Graph will pool and reuse any object instances it creates so that they don't get picked up by the garbage collector, as much as possible.
Object instances can be release manually at a time of your choosing, by calling the following method:
Pools.Clear();
Caveats
The downside of object pooling is that it might result in Map Graph hogging a lot of memory that it's not actively using, memory that might be needed by other parts of the application. This can be somewhat mitigated by clearing the object pools manually.