Jump to content

Game's been stuttering since 2 patchs


Recommended Posts

Hello

I've been enjoying ONI for a while now. My game was playing perfectly like 3 weeks ago, on my largely sufficient PC (AMD 2700x, Nvidia RTX 2600, 32 GB RAM, game installed on SSD...).

But suddenly, with the "mini" patch following the recreation patch, my ongoing game has become unplayable.... No mod. Not moving the camera, in 1x, my dups will walk 3 steps, then stop, then walk, then stop.... Moving the camera is an horror, with it stopping like twice per seconds.

Please fix what was broken :)

Save included

Spacecamp.sav

Link to comment
Share on other sites

  • Developer

Hi! Thanks for the save.
I took a look and found the cause, it has nothing to do with the recent updates thankfully.

The cause happens to be these critter capture points. These points will do a search in the "room" for critters currently,

Unity_IRhWgOUBv9.png

 

The "room" check searches outward to try and find the edges/boundary of a space. However, the "room" these are in, is currently rather large, and it may even be going down those ladders. This ends up causing spikes because it's searching a lot more tiles than it should.

Unity_pchNd1tiX0.jpg

 

If you remove those capture points, or close the area off/put them in a room to your liking, you should be able to get away from the spike.

Hope that helps!

 

Link to comment
Share on other sites

This actually helped a lot, I had a few random drop-off points lying around.

 

How many things are room-based calculated? I'm currently working on coring out my entire asteroid except the abyssalite borders, and am getting worse and worse FPS, despite aggressive cleanup and sweep operations. Would separating these emptied biomes into sections instead of one massive "room" improve calculations?

Regarding ranches, I have about 300 critters in the 16,000 tile asteroid-wide "room", which are mostly slicksters from my egg-producing farm. They are currently limited to a single tile for pathing calculation reduction, but would this have an effect on FPS regarding that room calculation?

One other thing, do plants do any room based calculations? Whenever I use the auto-harvesting tool, NOT the farming overlay, the game completely stalls for 5 seconds. I've let a handful of pips run wild across the asteroid, and have a large number of wild harvested lettuce and peppernut plants.

 

Dunk Tank.sav

Link to comment
Share on other sites

I would suggest to disable scanning for X when the current area is not defined as a room. 

The issue is logical comprehensible, but only if you know it. Otherwise there is no reason to not put this building there. And so many users will run into issues because they dont know about it. 

Link to comment
Share on other sites

3 hours ago, SharraShimada said:

I would suggest to disable scanning for X when the current area is not defined as a room. 

The issue is logical comprehensible, but only if you know it. Otherwise there is no reason to not put this building there. And so many users will run into issues because they dont know about it. 

Agreed. It's better if the game actively tells you youre doing something wrong.

Link to comment
Share on other sites

20 minutes ago, Lancar said:

Agreed. It's better if the game actively tells you youre doing something wrong.

When you let dupes fly around in the space biom, and track the pathing, you see where your performance goes to hell. But with cirtter drop offs... i had no idea they scan the entire world, if placed outside a closed room.

Could the devs elaborate if other things work in a similar way?

Link to comment
Share on other sites

5 hours ago, melquiades said:

@klei.ruby You can't just drop a bomb like that without saying what else can have the same effect on performance! everyone here will be grateful at any other tips!

It doesn't make sense FOR THEM to give tips about how the user can optimize their game, it would be very bad PR. But yes, more info would be very much appreciated considering the amount of threads on optimization and the number of people that left the game due to lag.

Link to comment
Share on other sites

6 hours ago, melquiades said:

@klei.ruby You can't just drop a bomb like that without saying what else can have the same effect on performance! everyone here will be grateful at any other tips!

50 minutes ago, suxkar said:

It doesn't make sense FOR THEM to give tips about how the user can optimize their game, it would be very bad PR. But yes, more info would be very much appreciated considering the amount of threads on optimization and the number of people that left the game due to lag.

I would interpret this as acknowledgement of a performance bug as well as a temporary fix that the player can execute that will improve their performance in the mean time, not the devs knowing tricks and traps that effect performance.  I wish more people were willing to say "This shouldn't be happening, here's what you can do to stop it and now we know about the issue" What klei.ruby is saying is that the bug is not new, so they don't have to revert any of their recent changes, but that there is a problem that they now know about.

I would like to know what other buildings use a room-sized scan. 

15 hours ago, SharraShimada said:

I would suggest to disable scanning for X when the current area is not defined as a room

I don't think repeated scanning or rooms is the right approach for this problem for rooms of any size.  Room dimensions change rarely, so it would be easier to reverse the roles here.

It would be easier to have the objects report to the room they are in that they are there, from which a building within the room can ask the room what is in it.  Essentially, the room, no matter how large, knows what's in it because the objects inside reported to it.  The only computational overhead would be a one time scan to see how big the room every time the room changes. 

Alternatively, critter locators could define an area which is the same as the room and all critters within the area report to them rather than the other way around.  The idea is that each square would know it was in an area with a critter locator in it and a critter who enters that square would report to the critter locator rather than the critter locator having to search for them.

With both of these solutions, the area would only have to be defined once per change to the room.  It could cause a minor performance dip upon building and digging tiles, but it would be one-time per dig/build that effects the room rather than multiple times per second.

Link to comment
Share on other sites

13 minutes ago, Zarquan said:

Room dimensions change rarely

This isn't true at all. When you dig anything or create a new door between areas, which happens a LOT, you alter the room that usually encompasses the entire asteroid, which can be upwards of 10,000 tiles and usually FAR more. My asteroid-wide "room" is sitting at 14,000 tiles, and I've only just started putting in doors to section off biomes to test if it improves performance. Your statement is true for rooms that are intentionally built for a purpose in a base, those rarely change once finished.

From my own tests in the last day, my 14,000 tile room can't even detect how many plants are in it anymore, it reports 0 plants and 0 buildings in the room overlay, even though there are probably hundreds. Oddly enough, critters detection is always accurate. I sectioned off my industrial brick with doors instead of just a liquid lock, and the 250 slicksters I had in there instantly started getting cramped and overcrowded.

adsfdsafsa.png.2109157ee82733b40dfd27f85400969b.png

ezgif.com-video-to-gif.thumb.gif.43b8439c6fe3fa990e644e31efdd7689.gif

As you can see, I have quite a few of them in there.

 

Some interesting information: once I cordon off a biome I've emptied to about 500-1000 tiles, that one new sector goes from the 14,000 tile "miscellaneous room" status to being a "no room", despite the new smaller sector being much smaller. My guess is there is a room status giving structure somewhere that is trying to make the entire asteroid some type of room, but can't because it's too big.

One other tidbit, every time I add in a door to section off a chunk of the 14,000 tile room, I get a massive lag spike. I'm assuming this is because the room is being recalculated, but it stalls to <1 FPS for a few seconds.

Link to comment
Share on other sites

19 minutes ago, crypticorb said:

This isn't true at all. When you dig anything or create a new door between areas, which happens a LOT, you alter the room that usually encompasses the entire asteroid, which can be upwards of 10,000 tiles and usually FAR more. My asteroid-wide "room" is sitting at 14,000 tiles, and I've only just started putting in doors to section off biomes to test if it improves performance. Your statement is true for rooms that are intentionally built for a purpose in a base, those rarely change once finished.

From my own tests in the last day, my 14,000 tile room can't even detect how many plants are in it anymore, it reports 0 plants and 0 buildings in the room overlay, even though there are probably hundreds. Oddly enough, critters detection is always accurate. I sectioned off my industrial brick with doors instead of just a liquid lock, and the 250 slicksters I had in there instantly started getting cramped and overcrowded.

adsfdsafsa.png.2109157ee82733b40dfd27f85400969b.png

ezgif.com-video-to-gif.thumb.gif.43b8439c6fe3fa990e644e31efdd7689.gif

As you can see, I have quite a few of them in there.

 

Some interesting information: once I cordon off a biome I've emptied to about 500-1000 tiles, that one new sector goes from the 14,000 tile "miscellaneous room" status to being a "no room", despite the new smaller sector being much smaller. My guess is there is a room status giving structure somewhere that is trying to make the entire asteroid some type of room, but can't because it's too big.

One other tidbit, every time I add in a door to section off a chunk of the 14,000 tile room, I get a massive lag spike. I'm assuming this is because the room is being recalculated, but it stalls to <1 FPS for a few seconds.

First off, I like slicksters too.  I am assuming that this is an open ranch to keep slickters laying eggs while having a lot of them.  You don't need an open ranch to keep that many slicksters like that and have them lay eggs.  You should look at my one tile slickster pen. 

My point is that room changes are relatively rare.  During dig projects, this is common, but you aren't always excavating or building in a particular room.  If a critter dropoff (and probably critter scanners too) is scanning the room a few times per second, then it is essentially doing some of the work required to build the room over and over.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
×
  • Create New...