Burst AOT Settings リファレンス
Burst の AOT コンパイルを制御するには、Project Settings ウィンドウ (Edit > Project Settings > Burst AOT Settings) を使用します。プロジェクトのビルド時には、Jobs メニュー の Burst 設定がこれらの設定でオーバーライドされます。
設定 | 機能 |
---|---|
Target Platform | 現在のプラットフォームが表示されます。プラットフォームを変更するには、File > Build Settings に移動します。プラットフォームごとに以下の Project Settings を設定できます。 |
Enable Burst Compilation | この設定を有効にすると、Burst コンパイルがオンになります。この設定を無効にすると、選択したプラットフォームの Burst コンパイルが無効になります。 |
Enable Optimizations | この設定を有効にすると、Burst の最適化がアクティベートされます。 |
Force Debug Information | この設定を有効にすると、Burst によってデバッグ情報が生成されます。これにより、プロジェクト (プロジェクトのリリースビルドを含む) にデバッグシンボルが追加され、デバッガーへのロード時にファイルや行の情報を確認できるようになります。 |
Use Platform SDK Linker (Windows、macOS、および Linux ビルドのみ) |
クロスコンパイルのサポートを無効にします。この設定を有効にした場合、ターゲットプラットフォーム用のプラットフォーム固有のツールを使用する必要があります。この設定は、デバッグ目的でのみ有効にしてください。詳細については、クロスコンパイルが無効なプラットフォーム を参照してください。 |
Target 32Bit CPU Architectures (アーキテクチャがサポートされている場合のみ表示されます) |
32 ビットのビルドで使用する CPU アーキテクチャを選択します。デフォルトでは SSE2 と SSE4 が選択されています。 |
Target 64Bit CPU Architectures (アーキテクチャがサポートされている場合のみ表示されます) |
64 ビットのビルドで使用する CPU アーキテクチャを選択します。デフォルトでは SSE2 と SSE4 が選択されています。 |
Target Arm 64Bit CPU Architectures (アーキテクチャがサポートされている場合のみ表示されます) |
Arm 64 ビットのビルドで使用する CPU アーキテクチャを選択します。デフォルトでは ARMV8A が選択されています。 |
Optimize For | Burst コードのコンパイルの最適化設定を選択します。詳細については、OptimizeFor を参照してください。 |
Performance | ジョブができるだけ高速に実行されるように最適化します。 |
Size | コードの生成量ができるだけ少なくなるように最適化します。 |
Fast Compilation | 最適化を最小限にとどめ、できるだけ高速にコードをコンパイルします。Burst は、ベクトル化、インライン化、ループの最適化を実行しません。 |
Balanced (デフォルト) |
高速に実行されるコードになるよう最適化すると同時に、コンパイル時間をできるだけ短縮します。 |
Disabled Warnings | Burst の警告番号をセミコロン区切りのリスト形式で指定して、プレイヤービルドの警告を無効化します。この設定はすべてのプラットフォームで共有されます。アプリケーションのテスト中に、特定の コンパイル警告 を無視する場合に役立ちます。 |
CPU Architecture の設定は、Windows、macOS、Linux、Android にのみ対応しています。Unity では、選択した CPU アーキテクチャをサポートするプレイヤーをビルドします。Burst ではモジュールに特別なディスパッチが生成されるため、生成されたコードはランタイムにターゲットプラットフォームが使用する CPU を検出し、適切な CPU アーキテクチャを選択します。
Optimize For の設定
Note
OptimizeFor の設定はいずれも、Burst ジョブや関数ポインターに対するグローバルなデフォルトの最適化設定です。アセンブリレベルの BurstCompile
、または特定の Burst ジョブや関数ポインターで OptimizeFor
の設定が行われている場合、これらのジョブについてはグローバルの最適化設定がその設定でオーバーライドされます。
Burst によるコード最適化を制御するには、エディターの Optimize For 設定を使用するか、OptimizeFor
フィールドを使用します。
[BurstCompile(OptimizeFor = OptimizeFor.FastCompilation)]
public struct MyJob : IJob
{
// ...
}