パフォーマンスと帯域幅に関するヒント

アクタ レプリケーションのパフォーマンスおよび帯域幅を最適化するいくつかのヒント

Windows
MacOS
Linux

アクタのレプリケーションは時間を要する場合があります。エンジンはレプリケーション処理を出来るだけ効率よく行いますが、ユーザー側でこのジョブをより簡単に行うための留意点がいくつかあります。

レプリケーションを行うアクタの収集時に、サーバーは関連性、更新頻度、ドーマンシーなどいくつかの点をチェックします。パフォーマンスに影響を与えるために、このようなチェックを調整することができます。可能な限り処理の効率化を図るには、以下の順番で優先順位を付けるのがベストと考えられます。

  • レプリケーションをオフにする (AActor::SetReplicates( false ))

    • アクタをレプリケートしていない時に、このアクタがそもそもリスト上に無い場合など、レプリケートが不必要なアクタをオフ状態にすることで効率性が向上します。

  • NetUpdateFrequency 値を下げる

    • アクタ更新が少なければ少ないほど、更新に要する時間が少なくなります。この値に、出来る限り低い値を設定することをお勧めします。この値は、アクタがクライアントへ 1 秒間にレプリケートされる頻度を示します。

  • ドーマンシー

  • 関連性

  • NetClientTicksPerSecond

必要がある場合を除いて、プロパティのレプリケートには絶対にチェックをいれないでください。可能な場合は、既存のレプリケートプロパティからステートの派生を試みてください。

既存の量子化機能を利用してください。例えば `FVector_NetQuantize`クライアントへこのステートをレプリケートするために必要なサイズが大幅に削減できます。正しく使用すれば目立ったアーティファクトは発生しません。

FName は通常は圧縮されていないため、RPC へのパラメータとして使用する際は各コールに文字列を送信することに留意してください。この処理はオーバーヘッドが大きくなる可能性があります。

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