Choose your operating system:
Windows
macOS
Linux
Pipeline State Object (PSO) キャッシング データを ランタイム バージョンの Unreal Engine 4 (UE4) プロジェクトで使用する前には、コンパイルが必要となります。 この操作ガイドでは、UE4 プロジェクト実行中に PSO データをコンパイルする際の、2 種類の制御方法について説明します。
画面のロード
ロード画面が表示されているときだけ PSO データをビルドするようにプロジェクトを設定できます。こうするには、ロード画面がの表示が終了する前に PSO キャッシュのコンパイル完了を待つ新しい関数を作成する必要があります。 次のコードは、これを行う方法の例を示しています。
if (FShaderPipelineCache::NumPrecompilesRemaining() > 0)
{
if (OutDebugReason != nullptr)
{
*OutDebugReason = FString(TEXT("PC: PSO cache still compiling"));
}
return true;
}
モバイルのプロジェクトを開発中で、プロジェクトの PSO キャッシュをコンパイルする場合、この手法を推奨します。
UI、カットシーンおよび一時停止メニュー
UI、カットシーンまたは一時停止メニューが開かれたときだけ、PSO キャッシュがコンパイルされるように設定することができます。 これを行うには、コンパイルの実行時に、 ResumeBatching および SetBatchMode 関数を使用して PSO キャッシング システムを開始、停止する必要があります。 以下はこれを行うために使用する関数です。 Pause PSO Caching - PSO キャッシングのコンパイルを一時停止します。
FShaderPipelineCache::PauseBatching();
Set Batch Mode Speed - PSO キャッシングが処理される速度を設定します。
FShaderPipelineCache::SetBatchMode(FShaderPipelineCache::BatchMode::Background);
Resume PSO Caching - 停止または一時停止した PSO キャッシングを再開します。
FShaderPipelineCache::ResumeBatching();
使用方法の詳細については、 PSO キャッシュのビルド を参照してください。