お世話になっております。
UE5.8でのシェーダーキャッシュの自動削除抑制方法について、教えていただきたいと考えております。
背景:
現在UEを活用したシステムをUE4.24からUE5.8へバージョンアップしています。
UE4.24では下記フォルダに格納されているBaseEngine.iniのUnusedFileAgeが記載されている箇所にDeleteUnused=falseを挿入することでシェーダキャッシュの自動削除を抑制しておりました。
C:\Program Files\Epic Games\UE_4.24\Engine\Config\BaseEngine.ini
質問:
UE5.8でもシェーダキャッシュの自動削除を抑制したいと考えております。
そこでUE5.8でのシェーダキャッシュの自動削除の抑制方法はUE4.24.1と同様なのか、
また同様でない場合はどのように抑制すればいいのか教えていただきたく、宜しくお願いします。
[Attachment Removed]
お世話になっております。
UE5.4以降、DDCの保存には従来のファイルシステムではなくZenStore(Epicの作成したデータ管理プログラム)により管理されるようになっています。
https://dev.epicgames.com/documentation/unreal\-engine/using\-derived\-data\-cache\-in\-unreal\-engine\#ファイルシステムのローカルddcからunrealzenstorageのローカルddcへの移行
自動消去を無効化するオプションは無さそうですが、
BaseEngine.ini [Zen.AutoLaunch] セクション内の
--gc-cache-duration-seconds 1209600
として保持期限が設定されておりますので、これを極端に大きな値にすることで実質的に削除されなくなるかと思います。
バックアップとして従来のDDCも設定されておりますが、こちらについてはご指摘の設定内容が有効です。
よろしくお願いいたします。
[Attachment Removed]
回答いただきありがとうございます
自動削除を無効化するオプションを追加した経緯としては下記です。
・UE4.24.1でシステムを動かしていた際、シェーダコンパイル中にHighResShotで画像を出す場合があり、出力された画像がシェーダコンパイル中のものになった。そこで先の保持期限無効化の設定を入れたところシェーダコンパイル中に出力されることがなくなった。
現在UE5.8へシステムをバージョンアップしており、画像出力機能はMRGへ変更しています。
MRGでシェーダコンパイル中に画像出力される可能性がないのであれば、自動削除を無効化する必要はないかと考えていますが、こちらいかがでしょうか?
またこちらの事象が発生しないようにする別のアプローチなどあれば教えていただきたく、宜しくお願いいたします。
[Attachment Removed]
MRG を使用する場合は GlobalGameOverrides->FlushShaderCompiler をチェックしておくことでレンダリング前にシェーダーのコンパイル完了を待つようになりますので、
これで充分かつ最も手軽かと思われます。
[Image Removed]
よろしくお願いいたします。
[Attachment Removed]
ご確認ありがとうございます。
本件についてはクローズいたします。
疑問点などの生じた際には続けて投稿して頂くことで再度オープンできます。
[Attachment Removed]