Texture atlas
Many small images packed into one large texture so the GPU can draw them without switching textures between each.
Every change of bound texture forces a fresh draw call, and draw calls are expensive. If a batch of sprites shares an atlas, hundreds of calls can be folded into one — which is why the atlas is among the first optimizations in any 2D engine.
Packing the images tightly is a rectangle-packing (bin-packing) problem; tools like TexturePacker solve it and add a margin around each image, since texture filtering would otherwise bleed a neighbour in at the edge. The same technique carries fonts (a glyph atlas), UI icons and particles.