Commit Graph

105 Commits

Author SHA1 Message Date
urias rooney
4d57c73ff0 ## 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 26714029 by urias rooney in ue5-main branch]
2023-07-31 14:01:45 -04:00
joe bestrotheray
46d2364107 Change saturation analytics so that connection saturation, fast path saturation, and DSF saturation are all tracked separately
#rb LouisPhilippe.Seguin

[CL 26625347 by joe bestrotheray in ue5-main branch]
2023-07-26 18:26:13 -04:00
christopher daniel
875d99aab4 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 26069614 by christopher daniel in ue5-main branch]
2023-06-16 16:52:24 -04:00
henrik karlsson
086a6af41c [ReplicationGraph]
* Fixed include placement bug where UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2 was placed after .generated.h include but before code.

[CL 26065897 by henrik karlsson in ue5-main branch]
2023-06-16 15:29:05 -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
louisphilippe seguin
5d56917cd7 Fix int to float cast error
#rb trivial

[CL 25794829 by louisphilippe seguin in ue5-main branch]
2023-06-05 12:25:32 -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
Brian Bekich
933b3733c1 Handle gameplay debugger replicator in basic rep graph
#jira UE-183272
#jira UE-183273
#preflight 643963a0c947f6523a56e24c
#rb louisphilippe.seguin

[CL 25048869 by Brian Bekich in ue5-main branch]
2023-04-14 16:19:55 -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
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
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
3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -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
Brian Bekich
e8cf730f3a Replace some rep graph node strong refs with weak pointers
#jira FORT-536326
#preflight 63861d9533774509005e9d91
#rb louisphilippe.seguin

[CL 23307930 by Brian Bekich in ue5-main branch]
2022-11-29 10:31:11 -05:00
henrik karlsson
80a0aeccfe [Engine]
Removal of includes to reduce transitive includes in high traffic headers to reduce compile times
Highlights
* Skeleton and BonePose not leaked out of commonly used animation headers
* AudioComponent leaking out less
* Brush not leaking Level.h (Brush is included indirectly a lot)
* VertexStreamComponent moved to its own file so Components.h can include that instead of VertexFactory (which would leak out all of RHI and others)

#preflight 6365dd15c53af2f47f8d8c40
#rb none

[CL 23003402 by henrik karlsson in ue5-main branch]
2022-11-05 20:36:27 -04:00
henrik karlsson
4a5e13525d Fixed non-unity non-pch compile errors
#preflight skipped
#rb none

[CL 22788359 by henrik karlsson in ue5-main branch]
2022-10-26 16:22:34 -04:00
henrik karlsson
b5b86c796c This change is a strategical submit for a coming change that removes lots of includes in headers that are included by many files. This change contains adding of includes in files that previously got those includes transitively from other inclkudes
#preflight 6355d4940313c24974b2107b
#rb none

[CL 22783162 by henrik karlsson in ue5-main branch]
2022-10-26 12:57:32 -04:00
ryan gerleve
572b34b4d8 Add a CSV stat to track CPU time impact of multiple replications of the same actor to the same connection in the same frame. Possible in RepGraph when an RPC causes a new channel to open.
Change FReplicationGraphCSVTracker::PostReplicateActor to take enum flags.

#rb LouisPhilippe.Seguin
#preflight 63503b82b13bfb29ebf8671a

[CL 22647222 by ryan gerleve in ue5-main branch]
2022-10-19 21:51:43 -04:00
ryan gerleve
ba27312428 Replication graph GridSpatialization2D node uses old world bounds values.
The grid is densely stored and risks very high memory usage at large coordinates.

#jira UE-165198
#rb louisphilippe.seguin
#preflight 6334c113691c0168b71c21f7

[CL 22240520 by ryan gerleve in ue5-main branch]
2022-09-28 22:24:09 -04:00
brian bekich
f9354ffab0 Networking deprecation cleanup
#preflight 631153ed16293be53140b1ad
#rb louisphilippe.seguin

[CL 21760887 by brian bekich in ue5-main branch]
2022-09-02 11:52:54 -04:00
jaime cifuentes
7d1eb971be Inclusive Terminology Push
Replaced "master" with "main" at ReplicationGraph.h/.cpp

#jira UE-158584
#review @thomas.sarkanen
#preflight 62cea5eaf30df2b55bed965f

[CL 21069494 by jaime cifuentes in ue5-main branch]
2022-07-13 07:34:15 -04:00