Commit Graph

139 Commits

Author SHA1 Message Date
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
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
anton dunchev
d97c370c0f Fix level visibility check for dormant actor cleanup feature. This allows dormant actors placed in a persistent level to be destroyed on the client and reclaim their memory.
#rb brian.bekich
[FYI] andrew.ladenberger
#tests PIE

[CL 23039167 by anton dunchev in ue5-main branch]
2022-11-08 16:03:05 -05: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
brian bekich
f5a06b9c44 Handle an actor with an invalid location (NaN) in GetCellInfoForActor
#jira UE-166885
#rb louisphilippe.seguin

[CL 22534390 by brian bekich in ue5-main branch]
2022-10-14 16:57:32 -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
bryan sefcik
50d4fac9e0 Updated ../Engine/Plugins/... to inline gen.cpp files
Before:
3548 unity files
Total CPU Time: 47343.578125 s
Total time in Parallel executor: 494.60 seconds

After:
3445 unity files
Total CPU Time: 46044.671875 s
Total time in Parallel executor: 468.51 seconds

#jira
#preflight 63336159b20e73a098b7f24f

[CL 22218213 by bryan sefcik in ue5-main branch]
2022-09-28 01:06:15 -04:00
louisphilippe seguin
17a89ba38f Replication:
* Added optional config that will prevent Actors from replicating if they are not BeginPlay yet.
* Enabled via net.ReplicateOnlyBeginPlay
* The only exception is if a RPC is called on an actor before BeginPlay and opens the ActorChannel
    * When opening the channel to send the RPC, we need to serialize the actor to open the channel correctly.
    * Even if the actor is not begin play we will set up his components for replication and serialize him anyway.
    * Note that sending rpcs this early is not recommened if the BeginPlay on the authority sets replicated variables that the client needs in his BeginPlay too.

# Defaults to true in FortniteGame

#jira UE-160463, FORT-499928
#rb Brian.Bekich

[CL 21500389 by louisphilippe seguin in ue5-main branch]
2022-08-22 21:39:03 -04:00
brian bekich
a1b145ac5b Disabling stat scope in test
#rb trivial

[CL 21467796 by brian bekich in ue5-main branch]
2022-08-19 19:21:53 -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
Peter Engstrom
4aae8d3ed0 Iris experimental replication system.
Initial submit, compiled out by default.

#rb Peter.Engstrom,Mattias.Hornlund,Brian.Bekich,Ryan.Gerleve,John.Barrett
#jira UE-158381
#preflight /62cd6fc7ad490b52da0515a3

[CL 21068370 by Peter Engstrom in ue5-main branch]
2022-07-13 03:11:55 -04:00
Robb Surridge
0a5a02c5b2 Coding standard fixes: gender-inclusive language
#jira UE-156429
#preflight 62b32e826a25ba6ae52f94bd
#rb jason.walter

[CL 20795375 by Robb Surridge in ue5-main branch]
2022-06-23 11:14:07 -04:00
Andrew Davidson
8d844cd4a6 Improve support for an extended WORLD_MAX
#rb various, trivial
#preflight 62a1cb46f73a01bd981b9978

[CL 20573655 by Andrew Davidson in ue5-main branch]
2022-06-09 07:03:13 -04:00
VesCodes
3a6673c062 PR #9212: Fix grid cell node doubling child node actors (Contributed by VesCodes)
#rb trivial
#jira UE-153520

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20524521 via CL 20527269 via CL 20527465
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20529871 by VesCodes in ue5-main branch]
2022-06-06 18:58:10 -04:00
louisphilippe seguin
0a220bb418 ReplicationGraph
* Prevent actors outside the destruction radius but inside the current OutOfRange radius check from being added to the OutOfRange list.
* Instead keep actors in the PendingDestructionList until they get inside the send radius or outside the OutOfRange radius.

#rb Brian.Bekich, Jon.Sourbeer

#ROBOMERGE-AUTHOR: louisphilippe.seguin
#ROBOMERGE-SOURCE: CL 20229549 via CL 20229567 via CL 20229593 via CL 20229612
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20231614 by louisphilippe seguin in ue5-main branch]
2022-05-16 16:47:35 -04:00