【VR】オブジェクトプールの実装

今日は地味にコーディング作業。

爆発エフェクトや弾のヒットエフェクトなどを入れたこともあり、そろそろ本格的にオブジェクトのライフサイクルも管理しないとな、と。

そこで、オブジェクトプールを実装して、有限個のゲームオブジェクトをリサイクルして、メモリ資源を節約する。

仕組みは簡単で、オブジェクトの生成は必ずオブジェクトプールを介して行う。

オブジェクトプールは、生成したインスタンスのライフサイクルを管理していて、インスタンスの作成要求に対して、生成済みのインスタンスで現在は使われなくなったものを積極的にリサイクルする。

この仕組みを入れることで、ゲームプレイ中のインスタンスの上限を管理することが出来る。

つまり、シーン内に登場する全てのオブジェクトは有限であり、使いまわされるので、使用メモリも理屈上は一定以上は増えない。

使用メモリが一定ということは、ガベージコレクションが発動しない(またはしにくい)ということで、ガベージコレクションのアロケーションによるフレームレートの低下を抑えるのである。

理屈ではそうだ。本当にそうなっているかは、最終段階でプロファイラとにらめっこしながらテストすることになるんだろうけど。

明日は、いよいよストリートファイターⅤの発売か。

めっちゃ悩む。いま格闘ゲームやりこむ時間的余裕なんてないしなぁ。やりこまない格闘ゲームなんて、存在しないのと同じだし。

悩むわ。でも結局買っちゃいそうなんだよね。

3年前

コメントを残す

メールアドレスが公開されることはありません。