Open2
UnityのBurstについて適当にまとめる
リンク集
バーストコンパイラの良い点
- DOTSの機能の一部
- DOTSはめちゃくちゃ早いとの噂(読み取るのに効率の良いデータ配置が実現されている)
- 手軽現在のプロジェクトに入れやすいと思った
処理が軽い
実行手順
- c#
- IL
- バーストコンパイル
- IR
- LLVMコンパイル
- 機械語
なぜ早い
LLVMを噛ませているから
SIMDを利用しているから
メモリエイリアス考慮
LLVMとは
IR(中間言語)を最適化されたパスでより高速な実行可能ファイルを生成する仮想マシンである。
オープンソース
SIMDとは
並行処理
メモリエイリアス考慮
弱点
C# Job System でしか利用できない
ヒープ領域なオブジェクト(クラスなどは使えない、ストラクトのみ)
例外処理も使えない
C# Job System とは
- CPUのコア数だけ並列してJobを行える
- 早く終わると他のコアにあるJobをこなすようになっている
どのような場面で使うべき?
- 現状はUnityのAPIは利用できない
- 単純な計算をさせることぐらい
- 他の利用例を調べてみたがテクスチャにノイズを出したり大量のオブジェクトのの位置を動かすくらいしかなかった
- 今後に期待
Burstを使ってみた
パッケージマネージャーからインストール