シナリオ用のダンジョンがなかなか終わらない。
今日はシナリオダンジョンの実装を進めながら、かねてから懸念していたドローコール&バッチセービング問題に対処した。
有料アセットの導入時にドローコールを抑える苦労をしたことは以前の記事のとおりだ。
けれどもドローコールを下げても画面上にあるオブジェクトの数が多ければやっぱりスマホのCPUにかかる負荷が大きいのではないかと。
実際、野外の場面でドローコールは20以下に抑えているにもかかわらず、ダンジョン内での移動に比べて、やや動きがギクシャクしてしまう。
野外ではスカイボックスや樹木系のモデルなどで頂点数も多く、Batch Saving の値も多いところで400を超えていた。
なので、カメラの位置に合わせて、カメラの視界から遠すぎるオブジェクトはレンダラを無効にしてオブジェクト数を減らすようにしてみた。
動画にしてみたので見てもらうと早いと思う。ついでにシナリオダンジョンの玉座の間まで一気に移動してみた。
玉座の間あたりまでくると壁や床の装飾が気持ち程度は入ってるだけマシになった気はするけど、なんとも殺風景なダンジョンだなあ。
もうちょっと配置できるオブジェクトを増やす必要がありそう。またダンジョン実装が遅れる。
とまあ、それはいいとして、だ。
カメラの移動に合わせてマップチップの表示と非表示が入れ替わっている。
これで、ドローコールとBatch Savingの値を半分以下にまで落とすことができた。
いざ、スマホの実機で試してみると。
屋外のシーン、たいして変わらなかった!ガビーン。
なんでや…
まぁ、この努力は無駄じゃないはず。きっとどこか見えないところでCPUリソースの節約になっていると信じよう。
つかれた。
Related Posts
カテゴリー: 制作実習