20230828日記。

  • ゲーム開発
    • 本日仕事前にふと思いついたので作業してみた。
    • 昨日のJobSystemに続き、Burstコンパイラを導入してみた。
    • Burstコンパイラは、対応する機能の近くにBurst関連のタグを書くだけで、最適化されたCPUコードを出力できる機能を持つ。
    • すなわちJobSystemにおいて、ILではなく最適化されたコードが出力されるといこと。
      ただGCがない前提になるのに注意。すなわち利用できる変数の型や文法に制約がある。
      参考資料:
      Burst Compilerざっくりまとめ – EF Blog (hatenablog.com)
      Burstを触ってみる – BurstによるSIMD化の検証 | Yucchiy’s Note
    • 今回の最適化箇所は、前日に実装した「移動処理の並列化」。
    • 単純に処理効率が上がった。また追加実装もタグを付与するだけなので、実装の負荷も殆どない。
    • JobSystemはBurstとセットで考えるのが良さそうで、NGであればJobSystemだけ導入する。
  • ゲーム開発その2
    • 今後の予定だけど、当たり判定検出に対し処理できれば高速化の恩恵は十分受けられると思うので、時間を確保して実装してみるかなと。
    • 少なくとも大量に計算する必要のある、弾との当たり判定を高速化できれば恩恵は十分と考える。
      プレイヤーと弾の計算はかなり最適化してあるのでそれほど不要で、
      必要なのは「破壊可能弾とプレイヤー弾」「敵とプレイヤー弾」あたりかなと考える。(最適化入れる場合分岐が必要等でそれ自体が負荷になるので導入を避けていた)
    • 理想は各種判定を全部並列にすることだけど、現状判定検出の量にムラがあることを考えると、内容を調整できる方がいろいろ便利ではあるし、そもそも判定検出の数自体を減らしたり間引いたりしている現状で一意の対応は難しいと考える。
  • キーボード