153 Commits

Author SHA1 Message Date
louisphilippe seguin
2bac2b1d0f RepGraph
* Added comment explaining why we always calculate actor distance to view when replicating

#rb trivial
#rnx

[CL 26818894 by louisphilippe seguin in 5.3 branch]
2023-08-03 14:07:51 -04:00
urias rooney
24c88b09cc ## RepGraph actor reference validation
* Added ValidateActorReferences to RepGraph and RepGraphNode types
  * Iterates over all nodes in the RepGraph and checks for potentally stale actor references

## Performance

Tested on a Win64 Test Server
* ValidateActorReferences: 10-20us

[CL 26713129 by urias rooney in 5.3 branch]
2023-07-31 13:46:37 -04:00
joe bestrotheray
ce16e22475 Change saturation analytics so that connection saturation, fast path saturation, and DSF saturation are all tracked separately
#rb LouisPhilippe.Seguin

[CL 26623996 by joe bestrotheray in 5.3 branch]
2023-07-26 17:54:47 -04:00
christopher daniel
7a897ddef5 Replication / Dormancy and Always Relevant: Fixed bug where an always relevant, dormant actor could lose relevancy on clients. Now that actor will not be destroyed on clients where they are always relevant.
#rnx
#rb LouisPhilippe.Seguin
[REVIEW] [at]Dan.Kaufman, [at]Beth.Reid, [at]Anthony.Glueck

[CL 26070293 by christopher daniel in 5.3 branch]
2023-06-16 17:06:54 -04:00
louisphilippe seguin
84b4cc7018 RepGraph
* Fix log spam caused by actors going outside the legal world bounds and staying OOB.
* Now we will only log a warning once when the actor goes OOB
* net.ReplicationGraph.PrintGraph now prints the list of DynamicSpatializedActors monitored by the Grid2D node.

#rb Ryan.Gerleve

[CL 25934977 by louisphilippe seguin in ue5-main branch]
2023-06-12 15:27:57 -04:00
nathan green
9a09c86175 - Fixing assert on FloatToIntCastChecked when you set your actor cull distance larger than std::numerics<int>
[REVIEW] [at]Ryan.Gerleve, [at]Cory.Kolek
#jira: FORT-620840

[CL 25906326 by nathan green in ue5-main branch]
2023-06-09 18:01:30 -04:00
joe bestrotheray
6518935a73 Make CVar_RepGraph_DynamicSpatialFrequency_UncapBandwidth non-const in shipping builds so it can be hotfixed on/off
[CL 25891529 by joe bestrotheray in ue5-main branch]
2023-06-09 09:48:29 -04:00
louisphilippe seguin
d2f271bbdd RepGraph: Fix int to float cast warning
#rb trivial
#rnx

[CL 25794864 by louisphilippe seguin in ue5-main branch]
2023-06-05 12:26:09 -04:00
louisphilippe seguin
d3e3be0585 NetDriver
* Deprecated NetServerMaxTickRate variable and replaced them with Get/Set functions.
* Added FOnNetServerMaxTickRateChanged delegate. Register to receive callbacks when the server tick rate changes.

#jira UE-185786
#rb Ryan.Gerleve

[CL 25793458 by louisphilippe seguin in ue5-main branch]
2023-06-05 11:41:28 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
kirill zorin
a469aafd78 Update callsites to prepare for upcoming TArray/TArrayView<TObjectPtr<...>> restrictions
#rb zousar.shaker
#rb devin.doucette
#rb steve.robb
#rb robert.manuszewski
#rb saam.barati
#preflight 643f4c09a35280ed4f53ccb3

[CL 25100071 by kirill zorin in ue5-main branch]
2023-04-18 22:39:29 -04:00
Brian Bekich
ddda7e829a Reverting uses of FloatCastChecked
#jira UE-181363
#preflight 64222de1c42c7fd1cbb14030

[CL 24813420 by Brian Bekich in ue5-main branch]
2023-03-27 20:15:42 -04:00
Brian Bekich
26610f72b2 Enabling UnsafeTypeCastWarningLevel for rep graph
#jira none
#preflight 641882a042618c85c48c0385
#rb louisphilippe.seguin, jon.fairchild, ryan.gerleve

[CL 24732881 by Brian Bekich in ue5-main branch]
2023-03-21 11:42:33 -04:00
louisphilippe seguin
234eccbf75 ReplicationGraph
* Prevent sending multicast RPCs on a channel that is closing but not yet cleaned up.

#rb Ryan.Gerleve

[CL 24617952 by louisphilippe seguin in ue5-main branch]
2023-03-13 14:37:56 -04:00
anton dunchev
4076ae4e46 Fix DormantActorDestruction: remove cached nodes, so 2 arrays point to same cell data.
[REVIEW] [at]brian.bekich, [at]louisphilippe.seguin, [at]richard.smith
#rb andrew.ladenberger
#rnx

#localization none
#tests PIE

[CL 24509700 by anton dunchev in ue5-main branch]
2023-03-03 18:16:21 -05:00
brian bekich
09edde2147 Lowering net frequency of rep graph debug actor
#rb ryan.gerleve

[CL 24295943 by brian bekich in ue5-main branch]
2023-02-17 20:29:33 -05:00
anton dunchev
99e519be25 ReplicationGraph amortize the cost of dormant actor cleanup by allowing gathering actor lists for 1 connection at a time.
#rb LouisPhilippe.Seguin
#tests PIE

[CL 24058151 by anton dunchev in ue5-main branch]
2023-02-07 15:43:54 -05:00
anton dunchev
5813842292 Fix stale nodes cleanup from caches when Node disconnected from the connection
#rnx
[FYI] andrew.ladenberger, brian.bekich, LouisPhilippe.Seguin

[CL 23782222 by anton dunchev in ue5-main branch]
2023-01-19 17:27:57 -05:00
anton dunchev
f506434e62 Fix stale nodes cleanup from caches when Node disconnected from the connection
#rnx
[FYI] andrew.ladenberger, brian.bekich, LouisPhilippe.Seguin

[CL 23781885 by anton dunchev in ue5-main branch]
2023-01-19 17:14:50 -05:00
anton dunchev
98624ca781 Fix TTL decrease for dormant actor cleanup
#rnx
[FYI] andrew.ladenberger, brian.bekich, LouisPhilippe.Seguin

[CL 23781861 by anton dunchev in ue5-main branch]
2023-01-19 17:14:02 -05:00
anton dunchev
8ef5d19523 Send destruction info for dormant actors from cells that are no longer observed by the network client.
- TimeToLife for cell to send destruction is configurable and overridable by the game per GridSpatialization2DNode
- Exposed ReplicatedDormantDestructionInfosPerFrame CVar to have control over optimization levers
- Added Profiler markers to measure impact of enabling dormant actor cleanup

#rb brian.bekich, LouisPhilippe.Seguin
[FYI] andrew.ladenberger
#tests PIE

[CL 23781800 by anton dunchev in ue5-main branch]
2023-01-19 17:12:18 -05:00
ben zeigler
932a637aa0 Change the replication graph debug actor to a weak reference so it doesn't break seamless travel when pending kill is disabled
#jira UE-160144
#preflight 63c1a5b91a06fc6105ea79fc
#rb LouisPhilippe.Seguin

[CL 23682412 by ben zeigler in ue5-main branch]
2023-01-13 13:51:18 -05:00
henrik karlsson
2f78497e67 [Engine/Plugins]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn

#preflight 63bf8d8b577437afe607dc72
#rb none

[CL 23659643 by henrik karlsson in ue5-main branch]
2023-01-12 01:48:34 -05:00
louisphilippe seguin
8ead96f9c2 ReplicationGraph
* Refactored Dependent actor lists so the child actors are stored by streaming levels
* Now dependent actors are not replicated if the connection does not have the streaming level loaded
* Added FLevelBasedActorList struct to RepGraph plugin. Holds actors based on their level (permanent or streaming)

#jira UE-159638
#rb Ryan.Gerleve, Brian.Bekich

[CL 23480107 by louisphilippe seguin in ue5-main branch]
2022-12-12 13:39:19 -05:00
louisphilippe seguin
55b6193ef0 RepGraph
* Deleted deprecated code from before 5.1

#rb Peter.Engstorm

[CL 23428822 by louisphilippe seguin in ue5-main branch]
2022-12-07 10:42:56 -05:00