C# Job System
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/15 02:57 UTC 版)
「Unity (ゲームエンジン)」の記事における「C# Job System」の解説
C# Job SystemはUnity 2018.1より導入された、C#スクリプトの並列計算支援システムである。C# Job Systemを用いることで、並列計算につきまとう競合やデッドロックを避けながら高い演算性能を利用することができる。 IJobと NativeContainerを基本的な型とする。IJobを継承した構造体であるJobのExecuteメソッドで処理を定義し、インスタンス化したJobのScheduleメソッドをメインスレッドにて呼ぶことで、Unityが内部的に提供するJob QueueへJobが登録される。計算結果はJobへの入力として渡したNativeContainerを介して取得できる。NativeContainerはガベージコレクションの対象外であるため、結果取得後はNativeContainerを破棄する必要がある。 C# Job SystemはBurstコンパイルとの共用を念頭に設計されており、C# Job Systemで並列化したコードをBurstコンパイルによって最適化すれば非常に高い並列演算性能を得ることができる。2010年代からコンピュータのコア数は増加傾向にあるため、高い並列演算性能を生かして経路探索やアニメーションなどで有効利用できる。例えばAnimation Rigging パッケージのコンストレイント(IKなど)はC# Job Systemを用いて実装されている。
※この「C# Job System」の解説は、「Unity (ゲームエンジン)」の解説の一部です。
「C# Job System」を含む「Unity (ゲームエンジン)」の記事については、「Unity (ゲームエンジン)」の概要を参照ください。
- C# Job Systemのページへのリンク