Sprite-Batching ist die Methode, mit der mehrere Sprites mit einem einzigen Draw-Aufruf an die GPU gesendet werden.
Keine der anderen Antworten weist auf den eigentlichen Grund dafür hin: Minimierung von Statusänderungen und Übermittlung von GPU-Befehlen. Wenn Sie 100 von mir gezeichnete Sprites mit jeweils eigener Textur haben, kann die Hardware jeweils nur ein Sprite verarbeiten. Die Dutzende oder sogar Tausende von Shader-Kernen werden kaum genutzt, und die GPU verbringt viel zu viel Zeit damit, ihren Render-Status für Texturwechsel zu konfigurieren.
Wenn Sie alle Ihre Sprite-Bilder in einen Atlas einfügen, können Sie die zum Zeichnen erforderlichen Statusänderungen minimieren. Der Treiber ist möglicherweise sogar in der Lage, Sprite Draw-Anforderungen automatisch in einem Stapel zu kombinieren, sodass die Hardware voll genutzt werden kann. Dies ist jedoch nicht garantiert oder wahrscheinlich.
Wenn Sie einen Sprite-Atlas verwenden und dann ein einzelnes VBO mit all Ihren Sprites-Quads erstellen und eine einzelne Zeichnungsanforderung mit diesen Daten durchführen, ist sichergestellt, dass die Hardware voll ausgelastet ist und alle Ihre Sprites parallel gerendert werden.
Sprite Batching erledigt dann genau das: Sie können so viele Ihrer Sprites wie möglich in einem einzigen VBO mit einem einzigen Atlas zusammenfassen, der mit einem einzigen Draw Call an die GPU gesendet wird, um die GPU-Nutzung zu maximieren.
Es gibt andere Möglichkeiten zum Sprite-Batching (z. B. Hardware-Instanzen, Verwendung von Geometrie-Shadern usw.) und andere Vorteile, aber das Wesentliche ist, dass beim Batching mehrere Objekte pro Zeichenaufruf gezeichnet werden.