Blake_
Captain Obvious
Hi, @faatal. I decided to post optimization problems here since in the main thread I'm just taking up space and this stuff is too general to put in the bug report pool.
I'll be using a pseudo-reporting method to keep things clean though.
A few days ago, we talked about a DECO issue regarding file writting. Today's performance is a compilation of "probably CPU-related" stuff that generates freezes for various amounts of time.
Be aware, the following performance issues are happening since ///sleeperhorde GS(number)/// and //AIDirector wandering horde// spawns exist, so they were happening also in previous iterations of the game and are not sensitive or subjective to contamination from patches or updates. Nevertheless, the earliest report (AIDirector issue) is from 19.1 b8. All the others are from the current version with full profile/map wipe in a new RWG world.
FULL WIPE NEW RWG MAP 4K FOR THE 19.2 EXAMPLES. AI Director is still happening, but idk how to force the AIDirector to spawn a wandering horde to get a new screenshot. Output log for the sleeper spawn "sleeperhorde GS(x)" freeze below.
FREEZES CHAPTER 1:
Summary: AIDirector aka known as "the code handling the wandering horde spawns" generates strong freezes of various sizes in MEDIUM-LOWER end systems because it spawns Zds at the same exact second.
Reproduce steps: Get the AIDirector to spawn a wandering Zd horde and check the console for spawn at the same second (it can also happen with animal hordes, but the bigger freeze comes from humanoid entities or big animal numbers).
SOLUTION: Wandering horde's entities should spawn in a minimum sequence of 2 seconds apart and maybe in idle position to prevent a "conga line" effect due to the different timings and walking startings. After the last entity spawns, they can start moving ( 16 seconds or so for the total horde of 8 entities).
This way has a sustained overhead on the lower end CPUs and does not generate freezes.
SCREENSHOT PROOF (while the version is 19.1 b8, in 19.2 it's still happening):
FREEZES CHAPTER 2:
Summary: Sleeper Volumes/SleeperHorde GS(any number here) spawns Zds at the same time in POIs generating freezes of varius degrees on MEDIUM-LOWER end systems. Smaller POIs might not have a huge entity amount so the freezes might result in tiny bumps, that's why it's better to test it in , for example, a TIER 4 POI.
Reproduce steps: Enter a POI (I recommend a TIER 3 or HIGHER for maximum impact). Walk inside the POI for a couple of minutes, either god mode or normal walking (both will have the same effect, but God Mode is faster). I guarantee that it happened to me while NOT on god mode 100% of the time while going to those POIs in proportional progression (the more simultaneous spawns, the bigger the freeze) .
SOLUTION: Sleeper volumes should spawn the entities separately and in a sequencial manner, ideally 2 seconds appart in sequencial distance priority to account for big entity amounts that could still freeze the system.
SCREENSHOT PROOF ( 1 in a normal gameplay in a TIER 3 POI and 2 in god mode for fast tracking)
OUTPUT LOG OF THE SIMULTANEOUS SLEEPER SPAWNS:
View attachment output_log__2020-10-01__18-01-16.txt
DISCLAIMER: While the console reports can happen simultaneously and be by no means a reliable indicator of the depth of the problem, the freezes ARE there and the spawns need to be tweaked to be more spread and less heavy on the system. I rather have a sustained overhead of proximity-based sequential spawns than an "all at once" volume spawn hell while walking around the world or through a POI.
Pls do all of that while juggling with a single thread API and with two hands tied in the back. Thanks for reading and I hope this feedback helps.
I'll be using a pseudo-reporting method to keep things clean though.
A few days ago, we talked about a DECO issue regarding file writting. Today's performance is a compilation of "probably CPU-related" stuff that generates freezes for various amounts of time.
Be aware, the following performance issues are happening since ///sleeperhorde GS(number)/// and //AIDirector wandering horde// spawns exist, so they were happening also in previous iterations of the game and are not sensitive or subjective to contamination from patches or updates. Nevertheless, the earliest report (AIDirector issue) is from 19.1 b8. All the others are from the current version with full profile/map wipe in a new RWG world.
FULL WIPE NEW RWG MAP 4K FOR THE 19.2 EXAMPLES. AI Director is still happening, but idk how to force the AIDirector to spawn a wandering horde to get a new screenshot. Output log for the sleeper spawn "sleeperhorde GS(x)" freeze below.
FREEZES CHAPTER 1:
Summary: AIDirector aka known as "the code handling the wandering horde spawns" generates strong freezes of various sizes in MEDIUM-LOWER end systems because it spawns Zds at the same exact second.
Reproduce steps: Get the AIDirector to spawn a wandering Zd horde and check the console for spawn at the same second (it can also happen with animal hordes, but the bigger freeze comes from humanoid entities or big animal numbers).
SOLUTION: Wandering horde's entities should spawn in a minimum sequence of 2 seconds apart and maybe in idle position to prevent a "conga line" effect due to the different timings and walking startings. After the last entity spawns, they can start moving ( 16 seconds or so for the total horde of 8 entities).
This way has a sustained overhead on the lower end CPUs and does not generate freezes.
SCREENSHOT PROOF (while the version is 19.1 b8, in 19.2 it's still happening):
FREEZES CHAPTER 2:
Summary: Sleeper Volumes/SleeperHorde GS(any number here) spawns Zds at the same time in POIs generating freezes of varius degrees on MEDIUM-LOWER end systems. Smaller POIs might not have a huge entity amount so the freezes might result in tiny bumps, that's why it's better to test it in , for example, a TIER 4 POI.
Reproduce steps: Enter a POI (I recommend a TIER 3 or HIGHER for maximum impact). Walk inside the POI for a couple of minutes, either god mode or normal walking (both will have the same effect, but God Mode is faster). I guarantee that it happened to me while NOT on god mode 100% of the time while going to those POIs in proportional progression (the more simultaneous spawns, the bigger the freeze) .
SOLUTION: Sleeper volumes should spawn the entities separately and in a sequencial manner, ideally 2 seconds appart in sequencial distance priority to account for big entity amounts that could still freeze the system.
SCREENSHOT PROOF ( 1 in a normal gameplay in a TIER 3 POI and 2 in god mode for fast tracking)
OUTPUT LOG OF THE SIMULTANEOUS SLEEPER SPAWNS:
View attachment output_log__2020-10-01__18-01-16.txt
DISCLAIMER: While the console reports can happen simultaneously and be by no means a reliable indicator of the depth of the problem, the freezes ARE there and the spawns need to be tweaked to be more spread and less heavy on the system. I rather have a sustained overhead of proximity-based sequential spawns than an "all at once" volume spawn hell while walking around the world or through a POI.
Pls do all of that while juggling with a single thread API and with two hands tied in the back. Thanks for reading and I hope this feedback helps.