UE4最適化のヒントと体験

転送:https://dawnarc.com/2016/12/ue4%E4%BC%98%E5%8C%96%E5%BB%BA%E8%AE%AE%E4%B8%8E%E7%BB% 8F%E9%のAAの%の8C /

コンテンツは、メモは自分自身に委ねプロジェクト・ノートに関連する問題を扱っているが、また他の人が迂回路を共有できるようにします。

散乱記録
  1. 消費GPUProfile時間のパフォーマンス統計、あなたがしなければビューに好ましくゲームモードでは、編集者の消費量も列挙されているため、エディタモードでは非常に正確ではない、と。

  2. UE4は、あなたがこの解像度でプログラムを実行した場合クラッシュするプログラム(バージョン4.4、Iの最新バージョンは、問題がまだあるかどうかわからない)が発生します、640×480の解像度をサポートしていません。

  3. コンポーネントのニーズが取り付けての使用で可能な限り、アタッチたくさん持っているキャラクターは、すべての負荷を行うと多くの役割でのシーンは、深刻なパフォーマンスの問題があるだろう時に添付し、または。
    たとえば:シーン内の文字の数百人がありますが、いないすべての文字は、コンストラクタで、カメラと、スプリングアームアセンブリを作成しない、カメラとスプリングアームを必要とします。

  4. でも、携帯端末での両側UE4の影響を受けません。アプリ4に5000万の三角形のために、それは30fpsのにフレームレートの動作を安定させることができる、移動端末は、主にサイズ地図、材料の複雑さは敏感です。

コードコンパイラの最適化
  1. C ++の青写真100〜1000倍速くよりも、
    [テスト] C ++の青写真VS VS Nativized BPでのパフォーマンス
    https://www.reddit.com/r/unrealengine/comments/6qtxy3/test_blueprint_vs_c_performance_vs_nativized_bp/
    おかげで、ユーザーはほとんど知っている金木研補正は:上記の結果は、エディタでありますモード(非ネイティブ青写真)のテスト結果、及びパッケージ化青写真をネイティブコードに変換する場合には、青写真とC ++との間の性能ギャップは倍以上ではありません。前4.18から約(特定のバージョンを忘れ)、青写真転送ネイティブコードアルゴリズムは、最適ではないこのような加算演算として、単一の機能、実行スタックにリード特に長い翻訳され、青写真の後エピックは、ネイティブアルゴリズムを回します継続的な改善には、現在のバージョンは十分に最適化されています。

  2. ベクターは、を利用するために、C ++に変換するときFTransform::TransformXXX()FTransform::InverseTransformXXX、その代わりFQuat::RotateVector、およびFQuat::UnrotateVector命令、排出ハードウェア性能、かつアセンブラ前者の用途より現在のハードウェア・サポート・ベクトルが正直使用するクロスプラットフォームのC ++コードに設計されているので、ハードウェア・アセンブラ命令が、比較的小さな数と呼ばれるが、計算式を実行します。
    UE4は、使用するとき、最適化されたFTransform::TransformXXX()それは、行かない場合は、現在のハードウェアサポート場合と、左のハードウェア命令FQuat::RotateVector

  3. C ++コードのコンパイル速度のためのVS2019、およびCPUのAVX/AVX2のUE4デモ用いた最適化のより深いレベルでのコンピューティングベクトル命令セット、およびマイクロソフトのXbox ATGエンジニアリングチームの浸透の効果は、ベンチマークの最適化:

    • コンパイル速度:フルコンパイル速度、VS2019(16.2)は、3.5倍のVS2017(15.9)、インクリメンタル・コンパイル速度は、VS2019(16.2)は、VS2017(15.9)1.6倍です。
    • コードの最適化:試験規格として、ゲームのフレームレート、VS 16.2 16.0は比較的15.9および16.0に比べて、コードをVS2017に比べて、VS2019を使ってコンパイルすることを意味最大2.8%、増加させることができ、あなたがゲームの実行をさせることができ、3%に2%を改善しましたとき5%程度のフレームレートアップ。

    :詳細については、Microsoft C ++チームのブログを参照C ++チームのブログを

コード最適化アルゴリズム(のみUE4のAPI関連)
  1. オブジェクトがTARRAYは、使用を使用し続ける場合は、TARRAYを空Reset()の場所ではEmpty()、前者はメモリ空間を破壊しないので、。

  2. 関心のない要素の順序は、使用することができる場合TARRAY削除要素は、ときRemoveAtSwap()の代わりにRemoveAt()前者のすべての要素の後に空である、(要素を除去した後に作成された無効なメモリ空間)メモリホールの配列要素の端部を充填するために使用されます翻訳。時間の複雑さは、前者はO(ArrayNum)であるO(RemovedCount)、です。

  3. TSoftObjectPtrRTTIの内部使用はdynamic_cast、この操作は、特にサービスエンドで、実行時に大規模な使用を避けるために、非常に高価です。あなたは、実行時に頻繁に使用する必要がある場合は、個人が行います、キャッシュリソースの負荷管理などの重要なリソースパスを、独自のマップを構築し、値はオブジェクトへのポインタとリソースタイプの列挙を保持する構造体の自己定義であります、それは列挙値に基づいて取得されたときにstatic_cast強いターン。

水平カット(削除)
  1. オープンOcclusion Culling (プロジェクトの設定- >エンジン- >レンダリング- >オクルージョンカリング、 デフォルトでオンになっています)。レンダリングの効率を向上させる(コスト効果を除外することは予想外である)基準強度を除去するために、画面の割合を増加させるために必要な場合、次のプロパティ値を増加させます。
    Min Screen Radius for Lights
    Min Screen Radius for Early Z Pass
    Min Screen Radius for Cascaded Shadow Maps

  2. 使用Cull Distance Volume行為地平線作物きめ細かいです。プロジェクト設定Occlusion Cullingのみクリティカルしきい値カット視線によって制御することができ、Cull Distance Volumeマルチレベルクロッピングパラメータを設定することができます。

照明の最適化
  1. ローからハイへの3つの光消費の活性:
    指向性光/平行光(方向指示灯)<点光源(点光源)<スポット(スポットライト)。
    シーン内の光源の数がある大きさに達したときに、光の3種類の間の性能ギャップは、ギャップのオーダーです。

    最終消費のポイントライト、スポットライトが高いか低い、UE4公式文書は、一見明確な説明を見つけることができませんでした。異なる照明の下に2つの可能な使用シナリオがあり、コントラストは同じ消費ではありません。GPU命令のユニティ早期公式文書ショー2つの照明の消費量:
    ポイントライトは:.彼らはON AN平均(ポイントライトの影が最も高価ですが)グラフィックスプロセッサを要してい持つ
    彼らは高価ザ・ON MOSTザ・ある:スポットライトグラフィックスプロセッサ。
    そのようなメモリのコストなどの他の要因を考慮せずに、ポイントライトよりもスポットライトが高価、シングルGPUの消費を考えます。

    早期ユニティドキュメント:ライトライト
    http://www.ceeger.com/Components/class-Light.html
    おかげでユーザーはほとんど知っている刘相敬:勧告への指導を
    減衰のみポイント光源は、アカウントの影にスポットライトよりもはるかに簡単にすることなく計算され、スポット光源よりもはるかに小さい距離減衰やスポットライト及びCOS罪命令と外部減衰角を計算し、コストが非常に大きくなり、比較的に言えば、実際の使用時に照明された領域に、距離に関係はなく、シーンの大部分を消費します低点光源。もちろん、これはライティングに基づいてClusterBasedは、実際のレンダリングユニティ前方光源が切断されていない、すべてのピクセルがスポットライト消費は点光源よりもかなり大きくなるように、再計算点光源照明スポットれる切断のレンダリング遅延される(フォワード追加レンダリング)、デフォルト照明内外隅Unityは、アナログ減衰ないマップに依存しているものではないユニティスポットライト複数のサンプリング点光源リンクので。

     

  2. シーンはLightmassの重要ボリュームを与えない場合には、ライトマップを作成、シーン全体のサンプル間接照明をするだろう、ゲームキャラクタがビジョンに得ることができないような大きなゲームは、非常に無駄であるため、シナリオ間接照明キャッシュを生成するとき間接照明キャッシュの必要性が発生することはない、この時間は重要ボリュームLightmassシーンに挿入することができ、間接照明のキャッシュは、特定のエリアが生成されます照明を構築するために多くの時間を節約し、指定されました。

  3. ポイント光源とスポットライトをオンにしないようにしてくださいCast Volumetric Shadow。デフォルトの平行光のみがこのオプションをオンになっています。消費のオープニングパフォーマンスの後、消費の3倍の性能に開かれていません。使用した計算のハッチングを開けていないShadow Mappingオープン指示Shadow Volume、後者ことなく前者の影は、正確に計算されるが、計算量が少ないです。

  4. 霧の開放容積場合は、ビルド照明が霧のボリュームデータを生成し、事前に計算するときの音量が大きくミストのパフォーマンスを向上させることができそうという、光に静的な光をお勧めします。ボリュームカブリプロパティ巨大な消費。

  5. シーンが静的光静的光(フルダイナミック光又は固視光可動ライト定常光)でない場合、オーバーヘッド関連する静的照明(例えばライトマップとシャドウマップの相関演算)を節約するために、無効静的照明を有するであろう。無効化の方法:プロジェクトの設定- >エンジン- >レンダリング- >照明- >無効  Allow Static Lighting

    光が完全に動的なパフォーマンスのボトルネックである場合には、静的なライティングを無効にすると、パフォーマンスを向上させることができます。テストケース:私のゲームシーンの一つ、照明がボトルネックの一つであり、r.ScreenPercentage 20の後に400ストレステストの変更、クローズ静的ライティングフレームレートアップ。静的な光が照明効果も損失を無効にした後、存在しないため。

     

  6. 閉じるSupport Global clip plane for Planar Reflections、デフォルトではオフ、巨大な消費を開いた後。

  7. AOのパフォーマンスの最適化。非常に大規模なシーンでは、光は、典型的には、1本のパフォーマンスのボトルネック、特に動的光シーンとなります。このとき、フレームレートの大幅な増加が近いAO(AOは、デフォルトで有効になって、以前のバージョンは、デフォルトでオフになって)することができます。( - >エンジン-プロジェクトの設定]> [後レンダリング- >デフォルト設定- > オープンAO  Ambient Occlusion)、AOはデフォルトエンジンSSAO(スクリーンスペースアンビエントオクルージョン)で、 SSAOは、 GPUのパフォーマンスのオーバーヘッドが大きいので、事前に計算することはできません、DFAOに変更することができます(距離フィールドアンビエントオクルージョン)DFAOは予め計算することができるので、増大メモリのオーバーヘッドのコストパフォーマンスを向上させます。
    DFAOオープン方法:
    距離フィールド、アンビエントオクルージョン
    https://docs.unrealengine.com/en-us/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion
    DFAO二つのオプションの最適化に関連します:

    • 圧縮メッシュの距離フィールド:圧縮によってDistance Fields volume textureメモリ使用量を削減するために、レベルストリーミングヒッチを使用した場合、コストが発生します
    • 8ビットメッシュ距離フィールド:Distance Fields volume texture視覚効果厚いAO乾燥のコストで16ビット、8ビットのフォーマットから圧縮形式、。
  8. 点光源の数が多いと、シーン内のスポットライトがある場合によって、この時点で、動的であり、Distance Field動的LightComponet行うSetVisibilitySetHiddenInGame、パフォーマンスが60%に30%増加させることができます。この結論は、支払われた公式ストア・プラグインに基づいて  動的な照明ポータルシステム(パフォーマンスブースター)  元研究。エンジン自体のライトがありOcclusion Culling、へと理由SetVisibility、そしてSetHiddenInGameその後、まだこのような大きなパフォーマンスの向上を持って、推定値は、慎重に関連するコードUE4をレンダリングするために勉強する必要が未熟個人投機:遅延シェーディングに、例えば、時に各光源の像空間処理における画素、光源は、現在の画素に大きな影響を与えないが、それでも対応する演算処理が行われ、レイヤをレンダリングしない上位のアプリケーション・プログラムまたはビデオ・ゲーム・アニメーションのレンダリングのために、それを行うために最適化されてもよく、このプラグインとライトによって隠されていても各画素を処理するときに無効にし、照明情報は、計算ロジックは、ソースをスキップする場合、大幅に性能を向上させることができます。

シャドウの最適化
  1. あなたがシーン内のユニットのとき多数、非静的な指向性ライト(固定または可動式)を使用している場合は、オンにしてくださいDynamic Shadow Distance(デフォルトは閉じ意味し、0です)。
    試験:スクリーン500、カメラの高さ4000との俳優が、属性の指向性光据置型Dynamic Shadow Distance StationaryLight値がアクタにカメラからの直線距離よりも大きくなる(注:各俳優の直線距離は、値は可能な限り大きく設定しますこのような)5000として、またはフレームレートは100 fpsに200のFPSから落下しました。
    Dynamic Shadow Distance原因を開いた後、パフォーマンス向上させることができます
    ダイナミックシャドウの距離を、あなたはまだパフォーマンスを向上させることができた後の影に影に静的フェードよりも、この距離で、距離の動的な影をどのくらいの使用を示し、およびフェード。
  2. シャドウ論理制御キャスト
    照明を提供属性ながらDistanceField Shadow Distanceシャドウキャスティングによるカメラからの距離が、基板を横切ってこの方法を制御します。例:パフォーマンスのボトルネックを使用してモンスターの数が多い、樹木や建物、パフォーマンスにほとんど影響をキャスト遠くの山の影、この時点で影のキャストであると仮定しDistanceField Shadow Distance、それがパフォーマンスのシーン無効につながります。オブジェクトがモンスターである場合にのみ、カメラの特定の距離内にモンスターの影から離れて回転する:推奨されるアプローチは、プログラム・ロジックを制御することです。
    影を落とすオブジェクトが切り替え:

    void UPrimitiveComponent::SetCastShadow(bool NewCastShadow)
    
  3. 両方は、あなたがシェーディングのレベルを下げることができ、動的光を有効にするパフォーマンスを確保したい場合は、デフォルトはレベル3(エピック)で、巨大な消費した後、動的光を有効にし、それがレベル2(高)に変更することができます。

材料の最適化
  1. ファストからスローへのパフォーマンスの材料の種類、:不透明 - >仮面 - >半透明。

  2. シーンは、500のようなユニットの多くを、持っていた場合、これらのユニットは、そうでない場合は、消費のパフォーマンスが飛躍的に成長している、(例えば、直接削除最後の二段階での半透明効果など)、半透明材料の多くのような材料LOD、および削除を行う必要があります。

  3. GPUVisualizerもしBasePassそう大部分の材料の高い複雑ので、高を消費します。

  4. デカール消費に関連するピクセル数アートショップのシーンを除いてデカール付きプログラムの機能は決して混乱、。例えば、プログラムはマークは範囲が大きい決して使用デカールが変更または不透過性の質感を交差することができますされている場合と、デカールマークの範囲を作りたいと思います。シーンはデカールの広範な使用を必要とする場合、動的に作成され、従っホライズンで破壊デカール、単にSetVisibility十分ではありません、そこにはまだ巨大なオーバーヘッドの後に非表示になります(それが編集に地形エディタでこの作品かもしれないがそこUE4シーンエディタのでバグがあり、エンジンのアップグレードバージョン、地形の古いバージョンが不可解なバグの様々なを作成することができ、特に多くのバグは、)新しいバージョンに表示されます。

  5. 事前に計画するシーンにおける材料の種類、唯一の計画戦いのシーンで材料を選択します。大画面での材料の種類場合は、ドローコールが増加します。特にオンライン材料のパッチワークとアートシーンは、簡単に材料の種類の数の急激な増加につながることができます。

パフォーマンス・アーティストのためのガイドラインやデザイナー
https://docs.unrealengine.com/latest/INT/Engine/Performance/Guidelines/

植生の最適化

  1. 地形が編集している場合、インスタンス化された静的メッシュを使用します。Intancingは、GPUのコストが増加しますが、大幅にCPUのオーバーヘッドを減らすことができます。注:実際のゲームシーンは、すべてのインスタンス化のメッシュ、植生のも、全画面表示することができない、また、インスタンス化メッシュを使用しなければならないように、実際のアプリケーション、インスタンス化とすることは、CPUの描画呼び出しの回数を削減する主な方法として使用することはできません。描画呼び出しの回数を減らすために、材料の再利用率を改善するために、材料の種類を削減する必要があります。

  2. インスタンス化メッシュ(例えば、百万)、フレームの実装多数の場合RemoveInstance、またはUpdateInstanceTransform数回、フレームレートが下落します。
    最適化のアプローチ:インスタンス化されたメッシュは、される前に、UHierarchicalInstancedStaticMeshComponent::bAutoRebuildTreeOnInstanceChangesfalseに設定され、その後、インスタンス化されたメッシュは、あなたが運転した後、再生するために必要なさまざまな操作を実行し、bAutoRebuildTreeOnInstanceChanges実行し、trueに設定されてBuildTreeIfOutdated(true, false);大幅に百万インスタンス化されたメッシュにつながった操作を減らすことができ、パフォーマンスの低下。

  3. 植生材料の消費量がボトルネックになると、むしろ半透明材料、適切な仮面の使用を使用していない、顔の数を増加させるであろう。そのような草の表面のようなシート、三角形の全体形状ではなくカム面または半透明の材料に加えマスク方法を使用するよりも、綴るためのすべての使用。

  4. インスタンス化されたメッシュを右に設定されていますCull Distance

物理学と衝突の最適化
  1. BoxComponent重複生成するイベントがfalseに設定されています。あなたがイベント重ならない場合は、プロパティがfalseに設定され、デフォルトはtrueです。BoxCompontは、大きさの特定の順序に到達すると、開いているオーバーラップ生成するイベントの消費量は、密閉ケースの下に二倍の性能です。

  2. ノー物理場合は、します  Simulate Physics falseに設定。

  3. あなたは、イベントをヒットしない場合は、  Simulation Generates Hit Events falseに設定。

  4. シーンタイプ(WorldStatic、WorldDynamicなどポーン)ロット、および各ロットの数、良好なチャネル設定のオブジェクト応答衝突におけるオブジェクトは、チャネルが設けられていてもよい場合は無視無視するように設定されています。シーン内のオブジェクトの種類は、シーン内のオブジェクトのこのタイプが重なるように設定しても、数百、オブジェクト応答ブロックかを持っているにもかかわらず、比較的単純である場合は、それがパフォーマンスに影響を与えません。

  5. (このような大規模なスタークラフト2ザーグ子犬など)質量単位が存在する場合、大規模なRTSゲーム、シーンは、衝突UE4は、衝突を使用していない場合は、そうでないフレームの数が落ち込みました。
    このような球状のような単純なカスタム衝突、衝突を達成するために自分の提案は、例えば0.1秒として、衝突するかどうかかどうかを判定し、検出間隔を低減するユニットと衝突との間の直線距離を算出します。大型ユニットの数だけでなく、同様の書き込みが必要な場合、この方法によってDistance Filed計算単位区間におけるユニットのリストをループの数を減らすためにユニットのリストをキャッシュするオクツリーを。

アニメーションの最適化
  1. 「MeshComponent - - 」詳細パネルの最適化のカテゴリの下に- 「チェック役割の青写真を開きます  Enable Update Rate Optimizations

  2. ダニとRefreshBoneTransformsはSkinnedMeshをレンダリングするためにのみ実行しました

    USkinnedMeshComponent::VisibilityBasedAnimTickOption = EVisibilityBasedAnimTickOption::OnlyTickPoseWhenRendered;
    

    デフォルトではAlwaysTickPoseAndRefreshBones、関係なく、表現は(可視領域)にレンダリングされるかどうか、ダニ及びRefreshBoneTransformsを行います。
    VisibilityBasedAnimTickOption最初は知られているSkinnedMeshUpdateFlag、以前の4.21へのバージョンにMeshComponentUpdateFlag、4.21スタートが呼び出されますVisibilityBasedAnimTickOption

    あなたがアニメーションティックをオフにした場合、Tickイベントロジックは、アニメーションの青写真の中に失敗し、お近くRefreshBoneTransformsは、骨が例えば、故障のロジックを変換するかどうかTransform (Modify) BoneAnimNotifyこのオプションは影響を受けません。

     

  3. 直接アクセスメンバ変数にロジックトライの青写真をアニメーション、エンジンはデフォルトの最適化オプションで有効になっています:メンバ変数アニメーション青写真は、ランタイム実行の青写真で仮想マシン(青写真仮想マシン)のための青写真を入力することを避けるためにように、コンパイル時にネイティブコードにコピーされますコード、低青写真VMの動作効率のため。
    :デフォルトは、最適化されたパラメータの種類には、コンパイルされ
    、メンバー変数の
    否定ブールメンバー変数;
    ;ネストされた構造体のメンバ
    :具体的な手順は、公式ドキュメントを参照
    アニメーションの最適化
    https://docs.unrealengine.com/en-us/Engine/Animation/を最適化
    アニメーション高速パスの最適化
    https://docs.unrealengine.com/en-us/Engine/Animation/Optimization/FastPath

UIの最適化
  1. HUDはあなたがウィジェットの表示オブジェクトを作成する必要があるまでUMG、待機を使用しないで解決することができ、破壊が表示されていない、巨大なパフォーマンスよりUMGオブジェクトを消費します。
    例えば、千の単位内のシーンがあり、各ユニットは、彼らが何WidgetComponentを示さない場合でも、WidgetComponentのために作成され、GPUは巨大なオーバーヘッドを持っています。

  2. UMGは、ハードウェアカーソルのカーソルを生じのUMG UMGは(UMGの方法を示し高性能消費)を表示ロジックの高い応答速度、目に見える有意な遅延が存在するであろうが生成するため、マウスカーソルを変更するために使用されないが、代わりに使用することができます。

Epic Gamesのエンジニアシェア:どのようにUIは、モバイルプラットフォーム上でUE4のために最適化されたのですか?
http://youxiputao.com/articles/11743

変位の最適化
  1. それはモバイルAddMovementInputダニ、(例えば90〜40マルチフレームからダウンなど)を直接半分のフレームレートで使用される場合ポーン(例えば500など)質量移動ユニット、。ユニットにとっては、性能を向上させるために、実行AddMovementInputを()を停止するのが最善である、移動することはできません。
特殊効果最適化
  1. ボリュームドメインを使用しないようにしよう、かなり使用後のGPUのオーバーヘッドが増加します。することができ  profilegpu 、ボリュームのオーバーヘッドを検出します。
AIの最適化
  1. 役割は、コントローラーを必要としない場合は、スポーンコントローラにそれを与えることはありません。停止するのに長い時間のための文字ならば、彼を与えるUnpossesed() 可動再びまでPossessedBy()
    試験:500文字、AIコントローラクラスセット:ヌル、AIController、PlayerControllerフレームは120のFPS、100のFPS、75 fpsでした 。
専用サーバーの最適化
  1. ピールアニメーションデータサーバクック
    プロジェクトの設定- >エンジン- >アニメーション- >専用サーバー上でストリップアニメーションデータを確認してください。
    あなたは問題があるでしょう、このオプションをチェックし、イベントトリガーは、アニメーションのデータを変更通知追加した場合。アニメーションはのみパフォーマンス関連、ゲームロジックに関与していない通知に取り付けられていることを確認してください。

  2. 物理シミュレーションモードで無効にサーバーの役割が
    FBodyInstance->bSimulatePhysics falseに設定されています。デフォルトはfalseです。
    SkeletalMeshComponent::bEnablePhysicsOnDedicatedServer falseに設定し、デフォルトはtrueです。しかし、これは、クライアントが勝つとの物理的なチェックにつながる、プラグインハックの危険性があります。bEnablePhysicsOnDedicatedServer実行時に変更が有効になりません。

  3. 無効に衝突の下でサーバーモード
    UPrimitiveComponent->bGenerateOverlapEvents をfalseに設定し、役割の青写真CollisionComponentのデフォルトはtrueです。

  4. 身体の装飾的な役割サーバーモードですべてのコンポーネントを取り外します。

  5. AnimInstanceをさRoot Motion Modeするように変更はないRoot Motion from Everytingデフォルト値を利用するRoot Motion from Montage Onlyアニメーションを同期計算サーバの量を減らすために。

  6. 、レプリケーションのグラフの初期のネットワーク通信のためのLODとして理解することがほとんどないこと(ただし、レプリケーションのグラフは、複数のネットワーク・レベルのLODよりも多くの機能を提供し、公式ドキュメントを参照してください)ことがあります。4.20は、専用サーバー用に最適化された新機能を提供します。この機能がないと、サーバはマルチキャスト機能を呼び出す前に、プレーヤーはまた離れてマルチキャスト数キロを受け取り、実際には、この長距離選手は即時更新データを必要としないことがあり、または手動で時間内の視線まで待ちますForceNetUpdate()後でレプリケーショングラフでは、エンジンには、このマニュアルの最適化は、自分を管理することができます。

参考資料

パフォーマンスとプロファイリング
https://docs.unrealengine.com/en-us/Engine/Performance

最適化により、優れた性能とUE4で高品質な視覚効果を実現
http://gad.qq.com/program/translateview/7160166

CPUプロファイリング
https://docs.unrealengine.com/en-us/Engine/Performance/CPU

GPUプロファイリング
https://docs.unrealengine.com/en-us/Engine/Performance/GPU

アンリアル・エンジン4の最適化チュートリアル、パート1-4
https://software.intel.com/en-us/articles/unreal-engine-4-optimization-tutorial-part-1
https://software.intel.com/en -us /記事/非現実的なエンジン-4-最適化チュートリアル-パート2
https://software.intel.com/en-us/articles/unreal-engine-4-optimization-tutorial-part-3
ます。https:/ /software.intel.com/en-us/articles/unreal-engine-4-optimization-tutorial-part-4

最適化と非現実的なエンジンでのプロファイリングゲーム4
http://vincentloignon.com/blog/optimizing-and-profiling-games-with-unreal-engine-4/

ダイナミックライティングポータルシステム(パフォーマンスブースター)
https://www.unrealengine.com/marketplace/dynamic-lighting-portal-system-performance-booster

パフォーマンスの最適化:影トリガゾーン
https://www.unrealengine.com/marketplace/performance-optimization-shadows-triggering-zones

Unrealの洞察(v4.23の新機能)
https://www.youtube.com/watch?v=TygjPe9XHTw

仮想テクスチャリング(v4.23の新機能)
https://www.youtube.com/watch?v=fhoZ2qMAfa4

おすすめ

転載: www.cnblogs.com/sevenyuan/p/11842042.html