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

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

Windows
MacOS
Linux

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

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

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

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

  • NetUpdateFrequency 値を下げる

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

  • ドーマンシー

  • 関連性

  • NetClientTicksPerSecond

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

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

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

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信