Note: Not all platforms support this feature. Refer to platform specific documentation for further information.
To customize allocator settings you can either edit the configurable values through the Editor UI or supply them as command line arguments.
Note: Refer to the previous individual allocator sections to see the fields customizable through the Editor UI.
To find the name of the allocator parameters you want to change, check the list of allocator settings the Editor and players print when they start up.
For example, to change the block size of the main heap allocators, use -memorysetup-main-allocator-block-size=<new_value>
アロケーターのパラメーターの名前とデフォルト値:
アロケーター | 説明 | パラメーター名 | デフォルト値 | ||
---|---|---|---|---|---|
Main Allocators | Unity がほとんどの割り当てに使用するアロケーターです。 | ||||
Main Allocator | Unity がほとんどの割り当てに使用する主要なアロケーターです。 | ||||
Main Thread Block Size | メインスレッドアロケーター専用のブロックサイズです。 | memorysetup-main-allocator-block-size |
16777216 |
||
Shared Thread Block Size | 共有スレッドアロケーターのブロックサイズです。 | memorysetup-thread-allocator-block-size |
16777216 |
||
Gfx Allocator | Unity が 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 Size | Unity のジョブシステムにおける各ジョブワーカーのサイズです。 | 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 Size | Unity が主にジョブワーカースレッドに使用する、ラウンドロビン方式のリニアスレッドアロケーターです。 | 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
|
Tip: To ensure your settings improve performance, profile the application before and after making changes. For more information, refer to the Profiler overview page and the package documentation for the Profiler Analyzer. Profiler Analyzer enables multiframe comparison, which is especially useful for highlighting differences in allocator performance. You can also check the memory usage reports. They are available in the log when you close the Player or Editor. To find your log files, follow the instructions on the log files page.
Unity はアロケーターの設定を MemorySettings.asset
に格納し、これが、変更された設定をビルド時に boot.config
ファイルに入力します。つまり、新しい設定の効果はビルドごとに反映されます。
エディターでは、boot.config
は ProjectSettings
フォルダー内にあります。これは、Unity が MemorySettings.asset
のインポートや変更を行うたびに更新されます。エディター用の新しい値の効果は、次回のエディター起動時にのみ反映されます。