ドキュメント

Unity Engine

Unity Engine

アロケーターのカスタマイズ

Customize the allocator types with the Editor or command line.
読み終わるまでの所要時間 10 分最終更新 1ヶ月前

注意すべてのプラットフォームでこの機能がサポートされているわけではありません。詳細については、プラットフォーム固有のドキュメントを参照してください。
アロケーターの設定をカスタマイズするには、エディター UI で設定可能な値を編集するか、コマンドライン引数として指定します。

エディターの使用

  1. Project Settings > Memory Settings を選択します。
  2. 編集する値の横にあるロックアイコンを選択します。

Project Settings > Memory Settings を選択して表示される、選択した Player のメモリ設定

ノート: エディター UI でカスタマイズ可能なフィールドについては、前述の個々のアロケーターのセクションを参照してください。

コマンドライン引数の使用

変更するアロケーターのパラメーター名を見つけるには、エディターとプレイヤーが開始時に表示するアロケーター設定のリストを確認します。例えば、主ヒープアロケーターのブロックサイズを変更するには、
-memorysetup-main-allocator-block-size=<new_value>
を使用します。
アロケーターのパラメーター名とデフォルト値:

アロケーター

説明

パラメーター名

デフォルト値

Main AllocatorsUnity がほとんどの割り当てに使用するアロケーター。
Main AllocatorUnity がほとんどの割り当てに使用する主なアロケーター。
Main Thread Block Sizeメインスレッドアロケーター専用のブロックサイズ。
memorysetup-main-allocator-block-size
16777216
Shared Thread Block Size共有スレッドアロケーターのブロックサイズ。
memorysetup-thread-allocator-block-size
16777216
Gfx AllocatorUnity が Gfx システム関連の CPU 割り当てに使用するアロケーター。
Main Thread Block Sizeメインスレッド Gfx アロケーターの専用ブロックサイズ。
memorysetup-gfx-main-allocator-block-size
16777216
Shared Thread Block Size共有スレッド Gfx アロケーターのブロックサイズ。
memorysetup-gfx-thread-allocator-block-size
16777216
Other Allocators
File Cache Block Size断片化を避けるために、ファイルキャッシュには独自のアロケーターがあります。これは、そのブロックサイズです。
memorysetup-cache-allocator-block-size
4194304
Type Tree Block Size多数の小さな割り当てによる断片化を避けるため、Type Tree は独自のアロケーターを持っています。これは、そのブロックサイズです。
memorysetup-typetree-allocator-block-size
2097152
Shared Bucket Allocatorメインアロケーター間で共有されるバケットアロケーター。
Bucket Allocator Granularity共有アロケーター内のバケットのステップサイズ。
memorysetup-bucket-allocator-granularity
16
Bucket Allocator BucketCountバケットサイズの数。
memorysetup-bucket-allocator-bucket-count
8
Bucket Allocator Block Sizeバケットに使用されるメモリブロックのサイズ。
memorysetup-bucket-allocator-block-size
Editor: 8388608

Player: 4194304
Bucket Allocator Block Count割り当てられるブロックの最大数。
memorysetup-bucket-allocator-block-count
Editor: 8

Player: 1
Fast Per Thread Temporary Allocatorsごく短期間の割り当てを処理するスレッドローカルストレージ (TLS) アロケーター。
Main Thread Block Sizeメインスレッドスタックの初期サイズ。
memorysetup-temp-allocator-size-main
Editor: 16777216

Player: 4194304
Job Worker Block SizeUnity のジョブシステムにおける各ジョブワーカーのサイズ。
memorysetup-temp-allocator-size-job-worker
E262144
Background Job Worker Block Size各バックグラウンドワーカーのサイズ。
memorysetup-temp-allocator-size-background-worker
32768
Preload Block Sizeプリロードマネージャのスタックサイズ。
memorysetup-temp-allocator-size-preload-manager
Editor: 33554432

Player: 262144
Audio Worker Block Size各オーディオワーカースレッドのスタックサイズ。
memorysetup-temp-allocator-size-audio-worker
65536
Cloud Worker Block Sizeクラウドワーカースレッドのスタックサイズ。
memorysetup-temp-allocator-size-cloud-worker
32768
Gfx Thread Blocksizeメインのレンダースレッドのスタックサイズ。
memorysetup-temp-allocator-size-gfx
262144
GI Baking Blocksize各 GI ワーカースレッドのスタックサイズ。
memorysetup-temp-allocator-size-gi-baking-worker
262144
NavMesh Worker Block Sizeナビメッシュワーカースレッドのスタックサイズ。
memorysetup-temp-allocator-size-nav-mesh-worker
65536
Fast Thread Shared Temporary Allocatorsスレッド間で共有される短期間の割り当てのための高速リニアアロケーター。
Job Allocator Block SizeUnity が主にジョブワーカースレッドに使用する、ラウンドロビン方式のリニアスレッドアロケーター。
memorysetup-job-temp-allocator-block-size
2097152
Background Job Allocator Block Sizeバックグラウンドワーカー用のリニアアロケーターで、より長時間の割り当てが可能。
memorysetup-job-temp-allocator-block-size-background
21048576
Job Allocator Block Size on low memory platformsメモリが 2 GB 未満のプラットフォームでは、ジョブワーカーとバックグラウンドジョブの両方に、このサイズが使用されます。
memorysetup-job-temp-allocator-reduction-small-platforms
262144
Profiler Allocatorsアプリケーションの割り当てパターンに干渉しないように、Unity がプロファイラー専用に使用するアロケーター。
Profiler Block Sizeプロファイラーの主要部分のブロックサイズ。
memorysetup-profiler-allocator-block-size
16777216
Editor Profiler Block Sizeプロファイラーのエディター部分のブロックサイズ。これはプレイヤーには存在しません。
memorysetup-profiler-editor-allocator-block-size
1048576
Shared Profiler Bucket Allocatorプロファイラーとエディタープロファイラーのアロケーター用の、共有バケットアロケーター。

ローメモリのプラットフォームでは使用できません。
Bucket Allocator Granularity共有アロケーター内のバケットのステップサイズ。
memorysetup-profiler-bucket-allocator-granularity
16
Bucket Allocator BucketCountバケットサイズの数。例えば、値が 4 の場合、サイズは 16、32、48、64 です。
memorysetup-profiler-bucket-allocator-bucket-count
8
Bucket Allocator Block Sizeバケットに使用されるメモリブロックのサイズ。
memorysetup-profiler-bucket-allocator-block-size
Editor: 33554432

Player: 4194304
Bucket Allocator Block Count割り当てられるブロックの最大数。
memorysetup-profiler-bucket-allocator-block-count
Editor: 8

Player: 1
ヒント: 設定によるパフォーマンスの改善を確認するには、変更の前後でアプリケーションのプロファイルを作成します。詳細は、プロファイルの概要ページ、 および Profiler Analyzer のパッケージドキュメントを参照してください。Profiler Analyzer によりマルチフレームの比較ができます。これは、アロケーターのパフォーマンスにおける違いを明確にするのに役立ちます。メモリ使用状況レポートを確認することもできます。プレイヤーまたはエディターを閉じるとログに表示されます。ログファイルを見つけるには、ログファイルページの指示に従います。

設定の保存と読み取り

Unity はアロケーターの設定を
MemorySettings.asset
に保存します。これにより、変更された設定がビルド時に
boot.config
ファイルに入力されます。これは、新しい設定はビルドごとに有効になることを意味します。
エディターでは、
boot.config
は
ProjectSettings
フォルダーにあり、Unity が
MemorySettings.asset
をインポートまたは変更するたびに更新されます。エディターの新しい値は、次回にエディターを起動したときのみ反映されます。