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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback