少し前まで、個別のスプライトではなくパックされたスプライトを使用する理由の 1 つは、グラフィック ハードウェアが 2 のべき乗のテクスチャ (256、512、1024 など) に制限されていたことでした。したがって、スプライトをパックしないと、アップロードする前にすべてを 2 の累乗の次元に拡大する必要があるため、かなりの量のメモリが浪費されます。複数のスプライトを 1 つのテクスチャにパックすることで、これを回避しました。
もう 1 つの理由は、HD から 1 つの大きなイメージ ファイルをロードする方が、何百もの小さなイメージ ファイルをロードするよりもはるかに高速であることです。ファイルアクセスにはファイルごとにかなりのオーバーヘッドが伴うため、これは依然として当てはまります。そのため、ファイルが少ないほど処理が速くなります。特に小さなスプライトでは、100 個のファイルを 1 つのファイルに簡単に変換できるため、節約効果は非常に顕著です。
ただし、すべてを 1 つのテクスチャにまとめない理由もあります。1 つの OpenGL は 2 のべき乗テクスチャに制限されなくなったため、任意のサイズが機能します。しかし、もっと重要なことは、すべてを 1 つのテクスチャにパックすると、マイナスの副作用が生じることです。たとえば、ゲームで多くのスケーリングがある場合、スプライトの境界に注意する必要があります。これは、色が隣接するスプライトに混ざり合って醜いアーティファクトが生じるためです。スプライトの周りに余分なスペースを追加することである程度回避できますが、完全な解決策ではありません. すべてを 1 つのテクスチャにまとめると、画像でできることも制限されます。滝などの特定の効果では、テクスチャの UV 座標をオフセットするだけでアニメーションを実行したい場合がありますが、すべてが 1 つのテクスチャにパックされていると、そう簡単にはできません。