UDN
Search public documentation:

PerfDebug_DynamicLightEnvironmentsJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

デバッギングの実行Dynamic Light Environments(動的ライト環境)

デバッギングの実行ページに戻るには ここ をクリックしてください。

Dynamic Light Environments(動的ライト環境)

問題

動的ライト環境のアップデートが高くついている。

解決策:

すべての InterpActors (別名ムーバー) および KActors はデフォルトで動的ライト環境になっています。DLE が更新時、光源のラインチェックをします。これにより多量のCPU コストが加算されます。しかしながら、動的オブジェクトでのライティングのコストを削減するさまざまなオプションがあります。

ライト環境設定の一番高いコストから安いコスト(ゲームスレッドにて)およびいつ使うべきかをここに挙げます:

1) bEnabled=True, bDynamic=True (デフォルト)

必要に応じて使ってください。これらは InvisibleUpdateTime および MinTimeBetweenFullUpdates を基にして更新します。これは与えられた時間でアクティブが50を超えないようにしてください。可視、プレイヤーに近いまたはそれらが動いている時、余分にビジビリティチェックをします。

2) bEnabled=True, bDynamic=False, bForceNonCompositeDynamicLights=True

これはものすごくコストが安く、環境は最初のティックで更新され、決して再度それが行われることはありません。 bForceNonCompositeDynamicLights は動的ライトに影響を与えるようにするのが必要で、大きなゲームスレッドオーバーヘッドがありません。 これには何百にもなりますが、動的ライト(およびオーナーが可視の時)へのラインチェックのみのコスト(最初のティック後)となります。 これは、時前演算されたシャドウを使うよりずっと見栄えがよくなります。なぜかといいますと、回転することができ回転してもライティングが正しく反映されるからです。これは、破砕されたメッシュ、GDOやその他の物に使用されます。それらでコストがかかるようであれば、コード側で多少の最適化が必要です。

3) bEnabled=False, bUsePrecomputedShadows=True (プリミティブコンポーネント上で)また、動的チャンネルを取り出し、静的ライティングチャンネルにつけてください。

それらはライトマップ化され、レンダリングには非常にコストが安くなり、事実上ゲームスレッドオーバーヘッドがありません(ただし、 UDynamicLightEnvironmentComponent::Tick 関数は呼び出されます)。それが移動されてしまうとおかしくなるはずです。

いくつのライト環境がアクティブになっているかがわかるコンソールコマンドがあります。コンソールで SHOWLIGHTENVS を入力すると、そのフレームがティックされたすべての環境のリストを見ることができます。以下は、出力結果の一例です:

Log: LE: SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_12.DynamicLightEnvironmentComponent_231 1
Log: LE: SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_55.DynamicLightEnvironmentComponent_232 0
Log: LE: SP_MyMap_01_S.TheWorld:PersistentLevel.InterpActor_14.DynamicLightEnvironmentComponent_432 1 ...

行の終わりの '1' とは bDynamicTRUE に設定されているという意味です。レベルデザイナーが、アップデートのオーバーヘッドを削減するようマップの変更をするためのガイドとして使ってください。

フィードバック

パフォーマンスやエンジンのメモリについてご質問がある場合は、 ここ に質問を掲載してください!

デバッギングの実行ページに戻るには ここ をクリックしてください。