Pool de objetos
Reutilizar un conjunto de objetos preasignados en lugar de crearlos y descartarlos continuamente, para evitar el coste de asignación y las pausas del recolector de basura.
Los juegos crean y destruyen montones de objetos efímeros — balas, partículas, enemigos, números de daño. Asignar cada uno en el montón cuesta tiempo y fragmenta la memoria, y en lenguajes con recolección de basura un ciclo de limpieza puede pausar todo el fotograma y provocar tirones visibles. Un pool de objetos asigna un lote por adelantado, reparte instancias libres y las "destruye" simplemente marcándolas de nuevo como libres.
El patrón se describe como "Object Pool" en Game Programming Patterns de Robert Nystrom y es casi obligatorio en los proyectos de Unity. El precio es que hay que adivinar el tamaño máximo del pool, que los objetos deben reiniciarse con cuidado al reutilizarlos y que una instancia perdida no vuelve nunca. Va de la mano con la forma en que un ECS empaqueta los datos de forma compacta para aprovechar la caché.