PSO キャッシング データのコンパイルと使用

PSO データがランタイム時にコンパイルされる際の設定について説明します。

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 キャッシュのビルド を参照してください。

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信