Jump to content
Blake_

PERFORMANCE ISSUES 19.2 (UPDATED)

Recommended Posts

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):

Spoiler

20200925195241_1.thumb.jpg.17ddc3db209d09371f05122d5d8129f5.jpg

 

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)

Spoiler

20200929153537_1.thumb.jpg.7c8fe15e0461e9e8e744cb6e78e47c4d.jpg20201001183028_1.thumb.jpg.a2a7d1b0ba8da85f319cde48dbd6d774.jpg20201001182418_1.thumb.jpg.3011ac53737e5b413e1448f2f321f2c4.jpg

 

OUTPUT LOG OF THE SIMULTANEOUS SLEEPER SPAWNS:

 

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.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Console command spawnwh will spawn a wandering horde.

 

AIDirector does not spawn them at the same time, but it is one per tick, so 20 a second. 2 seconds is a lot of time and may not be feasible in POIs due to players being able to see them pop in. I added a wh spawn delay of 1 second. That may be enough in that case.

 

A common load delay and/or precaching solution may work, but these are not trivial changes with the randomness of spawns and spawning across different systems.

 

Thanks

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites
1 hour ago, faatal said:

Console command spawnwh will spawn a wandering horde.

 

AIDirector does not spawn them at the same time, but it is one per tick, so 20 a second. 2 seconds is a lot of time and may not be feasible in POIs due to players being able to see them pop in. I added a wh spawn delay of 1 second. That may be enough in that case.

 

A common load delay and/or precaching solution may work, but these are not trivial changes with the randomness of spawns and spawning across different systems.

 

Thanks

Thank you very much for the command and the fixes.

 

Those should do it. As soon as the DECO fix and these tweaks are online I'll report back how the new changes fare in my potato. With those out of the game, the last ones will hopefully become more apparent so I can "feel" them properly. Not that many left after those though.

 

GOOD JOB.

Share this post


Link to post
Share on other sites

Any instance of the 'opening your inventory or looting something' freezes so bad that you get  LiteNetLib disconnects in your games?   This ongoing bug is so old I it should have its own founders badge.

Share this post


Link to post
Share on other sites
Posted (edited)
3 hours ago, Ladarian said:

Any instance of the 'opening your inventory or looting something' freezes so bad that you get  LiteNetLib disconnects in your games?   This ongoing bug is so old I it should have its own founders badge.

It would be great if someone would open a bug report, and do the needful. So far the only people I've heard having this issue are...

A. Playing on an old save that isn't compatible.

B. Playing on an old Nitrogen map. (Around a19e b154 Nitrogen stopped being 100% compatible. That was back in the middle of July.)
C. Playing with mods that aren't compatible, or just playing with mods.

D. Playing on a server with options A-C, or a server where their ping exceeds 70ms on a regular basis.

 

So far, I'm not aware of anyone doing this. It's been a couple days since I looked though.

Edited by SylenThunder (see edit history)
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, SylenThunder said:

It would be great if someone would open a bug report, and do the needful. So far the only people I've heard having this issue are...

A. Playing on an old save that isn't compatible.

B. Playing on an old Nitrogen map. (Around a19e b154 Nitrogen stopped being 100% compatible. That was back in the middle of July.)
C. Playing with mods that aren't compatible, or just playing with mods.

D. Playing on a server with options A-C, or a server where their ping exceeds 70ms on a regular basis.

 

So far, I'm not aware of anyone doing this. It's been a couple days since I looked though.

E. You're either low on ram/on a slow HDD causing a big lag spike

F. Your network connection is poor and causing an insane amount of packet drops.

 

Both E and F are cases I had on my laptop with 8GB of ram, HDD and a dying ethernet port. 4K worlds this wasn't that much of an issue, since I was using less ram.

 

Ever since I built my new rig, never saw that issue in hundreds of hours.

Share this post


Link to post
Share on other sites
Posted (edited)
4 hours ago, SylenThunder said:

It would be great if someone would open a bug report, and do the needful. So far the only people I've heard having this issue are...

A. Playing on an old save that isn't compatible.

B. Playing on an old Nitrogen map. (Around a19e b154 Nitrogen stopped being 100% compatible. That was back in the middle of July.)
C. Playing with mods that aren't compatible, or just playing with mods.

D. Playing on a server with options A-C, or a server where their ping exceeds 70ms on a regular basis.

 

So far, I'm not aware of anyone doing this. It's been a couple days since I looked though.

The problem is there. But it used to be worse than it is now and right now I can't quite detect it due to the other issues' interference. When the fixes of this post plus the previous ones that I reported faatal come online, I will catch the remaining ones for sure. It's definitely an issue that happens on medium/minimum systems on 8k maps. 4k maps are waaay less affected. Writing on disk might be, as always, involved. The HDD speed is perfect to catch flaws. Because it's 4-5 times slower than the ssd on average.

 

It's just a matter of time until all of the issues are detected by my potato. My system, while enough according to the minimum specs, is like a geiger counter for performance.  The fixes resulting from these efforts will improve fps noticeably on better systems  too.

Edited by Blake_ (see edit history)
  • Knuckle Rub 1

Share this post


Link to post
Share on other sites

I do really notice a freeze entering the poi. The other issue that I have now is huge fps drops while on a mission in one of the "factories" and there is a sudden screamer spawn. They just keep on coming until the morning, so it is kind of a red moon night each time I go for a mission into one the the big poi's in wasteland (mainly 2 factories). Guess it would be nice to switch screamer spawns off while you're in a mission poi.

Share this post


Link to post
Share on other sites

I do really notice a freeze entering the poi. The other issue that I have now is huge fps drops while on a mission in one of the "factories" and there is a sudden screamer spawn. They just keep on coming until the morning, so it is kind of a red moon night each time I go for a mission into one the the big poi's in wasteland (mainly 2 factories). Guess it would be nice to switch screamer spawns off while you're in a mission poi.

 

By the way, I have to admin a noticeable boost in fps in latest experimental with all settings minimised. In several places I can reach 70 fps now, but of course everything gets messed up as soon as horde night arrives or a situation I mentioned above, then I can drop down as low as 8-10 fps))) And I'm talking MacBook Pro 2018 with 16Gb RAM, I-7 and a Redeon Pro 555X 4GB.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...