Sprite batching
L'unione di molti sprite che condividono una texture in un'unica draw call tramite un solo vertex buffer, invece di una chiamata per sprite.
Ogni draw call comporta un sovraccarico per la CPU, e una scena 2D può contenere migliaia di sprite. Il batcher raccoglie quelli che condividono texture e stato di rendering, costruisce un unico vertex buffer con tutti i loro vertici e invia il tutto in una sola chiamata. Lo SpriteBatch di XNA (2006) ha reso canonico il modello, e oggi ogni engine 2D ne offre un equivalente.
Tutto il trucco sta nel non spezzare il batch. Un cambio di texture, di shader o di modalità di blending impone un nuovo batch, ed è proprio per questo che sprite sheet e texture atlas contano: con tutto su una sola texture, un'intera schermata può ridursi a una chiamata. Affine ma distinto è il GPU instancing, che disegna molte copie della stessa geometria.