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

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

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

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる