ゲームで敵が100体同時に倒れたとき、爆発や煙、破片を100体分そのまま出したら普通に重くなります。なので「爆発は同時に30個まで」のような上限を入れます。これはハードの制約が厳しかったレトロゲームの時代から使われてきた手法ですが、ハードの性能が上がった現在でも、性能が上がった分だけ同時に表示するものや演出そのものも増えています。なので、今でも基本的な考え方は変わりません。
ただ、これを単純な先着順にすると困ってきます。
画面端の雑魚30体で上限を使い切って、その直後に画面中央のボスを倒したのにエフェクトが出ない。これはゲームとしてはかなり微妙です。
そこで、画面中央にいる敵、プレイヤーに近い敵、ボス、自分が攻撃した敵などは優先度を高くします。遠くの敵や画面外の敵、ほとんど見えない破片を削ることになります。
距離によって、近くでは爆発+煙+破片まで出して、遠くでは簡易エフェクトだけにする、というやり方もあります。
最適化はエフェクトを一律に減らせばいいわけではなくて、「何を残して、何を削るか」まで決めておく必要があります。
結局、限られた処理をプレイヤーに見てほしいところに振る形になります。「何を見せるか」という演出の優先順位によって、VFXの上限は定められています。
#
エンジニア ##
ゲームプログラマー#