In the UReplicationGraphNode_ActorListFrequencyBuckets
node, the logic for handling the priority of actors that need to be synchronized in this node is located in the function UReplicationGraph::ReplicateActorListsForConnections_Default
.
However, for the UReplicationGraphNode_DynamicSpatialFrequency
node, the logic for handling the priority of actors that need to be synchronized in this node is instead in GatherActorListsForConnection
.
They use different structures to store priority information, namely FPrioritizedRepList::FItem
and FDynamicSpatialFrequency_SortedItem
. What is the purpose of such a design? If written in this way, then for the UReplicationGraphNode_DynamicSpatialFrequency
node, the information in the FClassReplicationInfo
structure such as DistancePriorityScale
, StarvationPriorityScale
, and AccumulatedNetPriorityBias
will all become meaningless!