仮想化アセットをデバッグする

仮想化アセットのロギングとデバッグ出力

このページでは、プロジェクト内の 仮想化アセット の情報とそのデバッグ出力を表示する方法について説明します。

仮想化されたパッケージを検証する

パッケージが正常に仮想化されたかどうかを判断するには、コンテンツ ブラウザでアセットの上にマウスを置き、[Has Virtualized Data (仮想化データを含む)] エントリを確認します。

image alt text

または、アセットのファイル サイズを確認します。「.uasset」ファイルが仮想化前よりも大幅に小さい場合、バルク データは .uasset から分離され、「Saved/VirtualizedPayloads」ディレクトリに含まれるようになりました。

パッケージ ファイルの内容を調べるには、コンテンツ ブラウザ でアセットを右クリックし、[Copy File Path (ファイル パスをコピー)] をクリックして、コンソールに次のコマンドを入力します。

DumpPackagePayloadInfo [ファイル パス]

[ファイル パス]」をコンテンツ ブラウザからコピーしたファイル パスに置き換えます。

このコンソール コマンドでは、フル パスまたはパッケージ パスのいずれかを指定できます。また、これにより出力ウィンドウにペイロードの概要が書き込まれます。出力には、ローカルに保存されたペイロードのリストと、それに続く仮想化されたペイロードのリストが表示されます。

DumpPackagePayloadInfo は、アセット レジストリなどのキャッシュされた情報は使用しません。その代わり、使用するたびにパッケージの情報を再解析することから、常に最新の情報が提供されます。

統計パネルで仮想化アセットを監視する

[Statistics (統計)] パネル には、仮想化アセットがマシン上でどのように動作するかに関する情報が表示されます。このパネルは、[Tool (ツール)] > [Audit (監査)] > [Virtual Assets (仮想化アセット)] にあります。

Auditing virtual assets

仮想化アセットの統計情報パネル。現在のパネルには、2 つの異なるバックエンド、DDC バックエンドとプロジェクトのソース コントロールの読み取り、書き込み、およびキャッシュの統計が表示されています。

[Virtual Assets] タブの各行は、コンフィグ ファイルのセットアップに基づいて簡単に識別できるさまざまなバックエンドを表しています。Unreal Engine では、次の統計が記録されます。

  • 読み取り

    • 必要に応じてバックエンドからペイロードをプルします。

  • 書き込み

    • 仮想化時にペイロードをバックエンドにプッシュします。

  • キャッシュ

    • ソース コントロール システムなどの低速のバックエンドからペイロードがプルされると、高速のバックエンドにプッシュされ、繰り返し行うアクセスが高速化されます。

デバッグ コマンドのリファレンス

このセクションでは、Unreal Engine仮想化アセット システムをデバッグするためのデバッグ コマンドをご紹介します。該当する場合、Unreal Editor のコマンドラインとコンソール ウィンドウの両方でコマンドを使用できます。コマンドラインで使用されるほとんどのコマンドは、コンフィグ ファイルでも使用できます。これらのコマンドのコマンドライン バージョンを 仮想化グラフ で使用することもできます。

仮想化アセット システムを無効にする

  • コマンドライン: -VADisable

  • コンソール: VA.DisableVirtualization

仮想化システムを無効にし、代わりに null 実装をマウントします。

これは、「DefaultEngine.ini」ファイルの [Core.ContentVirtualization] セクションで SystemNameNone に設定するのと同じです。

無効にすると、仮想化システム インターフェースのすべてのメソッドが失敗したことを返します。

BackendGraph をオーバーライドする

  • コマンドライン: -VABackendGraph=

DefaultEngine.ini」ファイル内の [Core.ContentVirtualization] セクションの「BackendGraph」値を編集しているかのように、初期化時に仮想化システムが使用するバックエンド グラフを変更します。

グラフの名前は、実行しようとしているプロジェクト用に設定された既存のグラフと一致している必要があります。存在しない場合、仮想化システムが起動時に致命的なエラーを出力します。

特定のバックエンドを無効にする

  • コマンドライン: -VAMissBackends=[バックエンド名]

  • コンソール: VA.MissBackends

1 つ以上のバックエンドがペイロードをプルするのを完全に無効にします。このコマンドは、次の入力のいずれかを受け取ります。

入力

結果

Backend name

無効にするバックエンドの名前。複数のバックエンド名を + で組み合わせて指定できます。たとえば、-VA-MissBackends=FastCache+SlowCache はリストされている両方のバックエンドを無効にします。

All

バックエンドがプルしないようにします。

Reset

すべてのバックエンドをリセットして有効にします。

List

現在無効になっているバックエンドをリストします。

接続不良をシミュレートする

  • コマンドライン: `-VAMissChance=[percent chance of failure]

  • コンソール:`VA.MissChance`

ペイロードのプルが自動的に失敗する確率をパーセントで設定して、接続不良をシミュレートします。たとえば、-VA-MissChance=50 は失敗の確率を 50% に設定します。

指定された数のペイロード プルを失敗させる

  • コンソール:VA.MissCount=[失敗させるペイロードプルの数]

次の X ペイロード プルを自動的に失敗させます。X は、このコマンドで指定した数です。

VA.MissCount のコマンドライン版はありません。

ペイロード プッシュを検証する

  • コマンドライン: -VAValidatePushes

  • コンソール:`VA.ValidatePushes`

各プッシュ後にペイロードをプルし、元のファイルと比較してペイロードを検証します。これは、「DefaultEngine.ini」ファイルで ValidateAfterPushOperation オプションを設定するのと同じです。

シングルスレッド モードを強制する

  • コマンドライン: -VASingleThreaded

  • コンソール: VA.SingleThreaded

システムを強制的にシングルスレッド モードで動作させ、バグの潜在的な原因となるマルチスレッド アクセスを排除します。これは、「DefaultEngine.ini」ファイルで ForceSingleThreaded オプションを設定するのと同じです。

ロギング

仮想化システムが初期化されると、有効なオプションと設定を示す詳細なログが作成されます。これには、何かが正しく設定されておらず、重大なデータ障害を引き起こす可能性がある場合に表示される致命的なログ メッセージが含まれます。

通常の運用中では、ロギングは最小限に抑えられ、必要に応じて警告とエラーのみが表示されます。ただし、詳細なログ を有効にすると、問題をデバッグするときに役立つ追加情報がログに表示されます。

ロギングを有効にするには、コマンドラインで次のコマンドを使用します。

-LogCmds="LogVirtualization Verbose" 

-ini:Engine:[Core.Log]:LogVirtualization=Verbose"
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル