同期頻度¶
Strixのコンポーネントは定期的にメッセージを送ってレプリカを更新することによりアクターを同期します。更新頻度が高くなればアクションがスムーズになりラグも短くなりますが、その代わりネットワーク帯域とサーバー負荷が増加します。多数のゲームでは、デフォルト値のままで良好な結果が得られるはずですが、ゲームのパフォーマンスを最適化するために更新頻度を調整することもできます。
Strix ReplicatorとStrix Movement Synchronizerという2つのコンポーネントには、更新頻度を制御するためのプロパティがあります。
Strix Replicator¶
Strix ReplicatorコンポーネントにはTicksPerSecondプロパティがあります。これは1秒間にアクターがレプリカを更新する回数です。
TicksPerSecondのデフォルト値は5です。つまり、レプリケーターがレプリカを毎秒5回更新することになります。
TicksPerSecondプロパティは、同じアクターにアタッチされている全てのStrixのコンポーネントに影響します。つまり、Strix Transform SyncとStrix Animation Syncの両コンポーネントによる更新も、このプロパティで指定したものと同じ頻度になります。ただしStrix Movement Synchronizerは例外です。
Strix Movement Synchronizer¶
Strix Movement Synchronizerコンポーネントは、レプリケーターのTicksPerSecondプロパティを使用せず、アクターの動きに合わせて更新頻度を自動調整します。
Strix Movement Synchronizerの更新頻度は、SyncPeriodMinとSyncPeriodMaxという2つのプロパティによって制御します。SyncPeriodMinは更新間の最短時間をミリ秒単位で表します。SyncPeriodMaxは最長時間です。Strix Movement Synchronizerは、更新間の時間が指定された2つの時間の間に収まるように更新頻度を調整します。
SyncPeriodMinのデフォルト値は100ms、SyncPeriodMaxは500msです。つまりStrix Movement Synchronizerは100ms以上500ms以下の時間間隔でレプリカを更新します。
注釈
Strix ReplicatorのTicksPerSecondは「1秒あたりの更新回数」を表し、Strix Movement SynchronizerのSyncPeriodMinとSyncPeriodMaxは「更新間の時間」を表しています。ある意味で、両者は逆の関係になっています。つまり、TicksPerSecondの値が大きくなると更新頻度が上がりますが、SyncPeriodMinとSyncPeriodMaxの値が大きくなると更新頻度は下がります。
パフォーマンスのチューニングに関しては、パフォーマンスを向上させる方法と移動同期のパラメーターを調整する方法をご覧ください。