Unreal のパフォーマンスに関する推奨事項Performance recommendations for Unreal

概要Overview

この記事は、Mixed Reality のパフォーマンスに関する推奨事項についての記事の内容が基になっていますが、Unreal Engine に固有の学習に焦点を当てています。This article builds on the discussion outlined in performance recommendations for mixed reality, but focuses on features specific to Unreal Engine. 続行する前に、アプリケーションのボトルネック、Mixed Reality アプリの分析とプロファイリング、および一般的なパフォーマンスの修正について確認することをお勧めします。You're encouraged to read up on application bottlenecks, analyzing and profiling mixed reality apps, and general performance fixes before continuing.

以下の各設定は、 [編集] > [プロジェクトの設定] にあります。You can find each of the following settings in Edit > Project Settings.

  1. Mobile VR レンダラーの使用:Using the mobile VR renderer:
    • [プロジェクト] セクションまでスクロールし、 [ターゲット ハードウェア] を選択して、ターゲット プラットフォームを [モバイル/タブレット] に設定します。Scroll to the Project section, select Target Hardware, and set the target platform to Mobile/Tablet

モバイル ターゲット設定

  1. 前方レンダラーの使用:Using the Forward Renderer:
    • Mixed Reality には、既定の遅延レンダリング パイプラインよりもこの機能の方がはるかに適しています。This feature is much better for Mixed Reality than the default Deferred rendering pipeline. その理由は主に、個別にオフにできる機能の数にあります。This is primarily because of the number of features that can be individually turned off.
    • 詳細については Unreal のドキュメントを参照してください。You can find more information in Unreal's documentation.

前方レンダリング

  1. モバイル マルチビューの使用:Using mobile multi-view:
    • [エンジン] セクションまでスクロールし、 [レンダリング] を選択し、 [VR] セクションを展開して、 [インスタンス化ステレオ][モバイル マルチビュー] の両方を有効にします。Scroll to the Engine section, select Rendering, expand the VR section, and enable both Instanced Stereo and Mobile Multi-View. モバイル HDR をオフにする必要があります。Mobile HDR should be unchecked.

VR レンダリング設定

  1. OpenXR を使用する場合は、既定 または D3D12 が選択された 既定の RHI であることを確認してください。Ensure Default or D3D12 is the selected Default RHI when using OpenXR.
    • D3D11 を選択すると、プラットフォームで追加のレンダー パスが実行されるため、パフォーマンスが低下します。Selecting D3D11 will have a negative performance impact due to the platform performing an additional render pass. D3D12 では、追加のレンダー パスが回避され、レンダリング パフォーマンスが向上します。D3D12 should provide rendering performance improvements besides avoiding the additional render pass.

既定の RHI

  1. 頂点フォグの無効化:Disabling Vertex Fogging:
    • 頂点フォグでは、多角形の各頂点にフォグ計算を適用し、その結果を多角形の面全体で補間します。Vertex fogging applies fog calculations at each vertex in a polygon and then interpolates the results across the face of the polygon. ゲームでフォグを使用しない場合は、この設定を選択してフォグを無効にし、シェーディングのパフォーマンスを向上させる必要があります。If your game does not use fog, you should choose this setting to disable fog to increase shading performance.

頂点フォグのオプション

  1. オクルージョン カリングの無効化:Disabling occlusion culling:
    • [エンジン] セクションまでスクロールし、 [レンダリング] を選択し、 [カリング] セクションを展開して、 [オクルージョン カリング] をオフにします。Scroll to the Engine section, select Rendering, expand the Culling section, and uncheck Occlusion Culling.
      • レンダリングされる詳細なシーンのオクルージョン カリングが必要な場合は、 [エンジン] > [レンダリング][ソフトウェア オクルージョン カリングのサポート] を有効にすることをお勧めします。If you need occlusion culling for a detailed scene being rendered, it's recommended that you enable Support Software Occlusion Culling in Engine > Rendering. これにより、Unreal の作業は CPU 上で実行され、HoloLens 2 でのパフォーマンスが低い GPU オクルージョン クエリを回避できます。This lets Unreal to do the work on the CPU and avoid GPU occlusion queries, which perform poorly on HoloLens 2.
    • モバイル デバイスの GPU でオクルージョン カリングを行うと処理速度が低下します。Occlusion culling on the GPU on mobile devices is slow. 一般に、GPU では主にレンダリングを行う必要があります。Generally, you want the GPU to be primarily concerned with rendering. オクルージョンによってパフォーマンスが向上すると思われる場合は、代わりにソフトウェア オクルージョンを有効にしてください。If you feel that occlusion will help performance, try enabling software occlusion instead. 多数の描画呼び出しによって既に CPU の負荷が大きくなっている場合、ソフトウェア オクルージョンを有効にするとパフォーマンスが低下する可能性があることに注意してください。Note that enabling software occlusion could make performance worse if you're already CPU bound by a large number of draw-calls.

オクルージョン カリングの無効化

  1. カスタム深度ステンシル パスの無効化:Disabling Custom Depth-Stencil Pass:
    • この機能には追加のパスが必要になるため、処理速度が低下します。This feature requires an extra pass, meaning it's slow. Unreal では、透明度を使用した場合も処理が遅くなります。Translucency is also slow on Unreal. 詳細については Unreal のドキュメントを参照してください。You can find more information in Unreal's documentation.

深度ステンシル

  1. カスケードされたシャドウ マップの削減:Reducing Cascaded Shadow Maps:
    • シャドウ マップの数を減らすと、パフォーマンスが向上します。Reducing the number of shadow maps will improve performance. 明らかに品質が低下しない限り、一般にこれは 1 に設定する必要があります。Generally, this should be set to 1 unless there is a visible quality loss.

カスケードされたシャドウ マップ

オプション設定Optional settings

注意

次の設定を行うとパフォーマンスが向上する可能性がありますが、代わりに特定の機能が無効になります。The following settings may improve performance, but at the cost of disabling certain features. 該当する機能が不要な場合にのみ、これらの設定を使用してください。Only use these settings if you're sure you don't need the features in question.

  1. モバイル シェーダーの順列の削減Mobile Shader Permutation Reduction
    • ライトがカメラとは無関係に移動しない場合は、この値を問題なく 0 に設定できます。If your lights don't move independently of the camera, then you can safely set this value to 0. 主な利点は、Unreal で複数のシェーダー順列をカリングし、シェーダーのコンパイルを高速化できることです。The primary benefit is that it will allow Unreal to cull several shader permutations, speeding up shader compilation.

モバイル シェーダーの順列の削減

関連項目See also