Version: 2023.2
言語: 日本語
Thread-safe linear allocator
プロファイラー概要

Customize allocators

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.

Use the Editor

  1. Project Settings > Memory Settings を選択します。
  2. 編集したい値の隣にある鍵アイコンを選択します。
Project Settings > Memory Settings に、プレイヤーのメモリ設定項目各種が表示されています。
Project Settings > Memory Settings に、プレイヤーのメモリ設定項目各種が表示されています。

Note: Refer to the previous individual allocator sections to see the fields customizable through the Editor UI.

Use command line arguments

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.configProjectSettings フォルダー内にあります。これは、Unity が MemorySettings.asset のインポートや変更を行うたびに更新されます。エディター用の新しい値の効果は、次回のエディター起動時にのみ反映されます。

Thread-safe linear allocator
プロファイラー概要