Stockpiles and performance

Started by faltonico, April 25, 2017, 06:43:11 PM

Previous topic - Next topic

faltonico

I read in the Reddit that having multiple stockpiles with different priorities can affect performance.
But i was wondering if it was only that, or having a lot of different stockpiles affected performance as well.
So my question is,
¿Is it better to have a single huge stockpile rather than organized smaller ones with no overlapping content in terms of performance?

SpaceDorf

Think Dude .. what costs performance ?

Pathing and Calculating where stuff has to be.

The more stuff your base has the more calculating.

If you have clean stockpiles in regard to what has to go where performance should be no issue.
The same goes if you just define one huge pile of crap.

Priorities can cause cascaded of calculations. Take something from a critical stockpile, someone will refill it from elsewhere. If this stockpile has a higher priority than another someone will refill it from elsewhere ..
This is only a problem if you have many cross purpose stockpiles .. if you have simple chains nothing to bad should happen.

The best thing about this system is : you can't create loops ..

Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

faltonico

I wanted confirmation. Your explanation was basically the same i thought it would be. I kind i was hoping to learn more about the inner workings of that system.

Now, because i have a mod that adds furniture that comes with stockpiles and i don't place anything on them, the next question would be:
¿Would performance be hurt by just having a lot of empty stockpiles lying around?.
I have placed a lot of those furniture and it got me worried. Deleting them didn't seem to have a perceivable impact on it, but i don't have a fps tool to measure the impact, and also my game is so lagged already that i don't think any minor change would be noticeable.

skullywag

Im not gonna weight in on the actual question simply cuz i havent don enough research to answer it, however keep in mind the single biggest source of lategame lag is world pawns, either use Zhentars mod that cleans these up a little or manually remove em from your save file (you have to be careful what you delete obv).
Skullywag modded to death.
I'd never met an iterator I liked....until Zhentar saved me.
Why Unity5, WHY do you forsake me?

SpaceDorf

Quote from: faltonico on April 25, 2017, 09:46:33 PM
I wanted confirmation. Your explanation was basically the same i thought it would be. I kind i was hoping to learn more about the inner workings of that system.

Now, because i have a mod that adds furniture that comes with stockpiles and i don't place anything on them, the next question would be:
¿Would performance be hurt by just having a lot of empty stockpiles lying around?.
I have placed a lot of those furniture and it got me worried. Deleting them didn't seem to have a perceivable impact on it, but i don't have a fps tool to measure the impact, and also my game is so lagged already that i don't think any minor change would be noticeable.

If you are talking about the More Furniture Mod, than nope .. no impact at all, at least on my machine. ( which some people might think is by now the pc equivalent to a zombie )
I think empty stockpiles don't get checked for work orders. ( or at least only binary .. which today is pretty much the same performance wise )

And of course what skullywag said.
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Aerial

Quote from: skullywag on April 26, 2017, 04:10:46 AM
Im not gonna weight in on the actual question simply cuz i havent don enough research to answer it, however keep in mind the single biggest source of lategame lag is world pawns, either use Zhentars mod that cleans these up a little or manually remove em from your save file (you have to be careful what you delete obv).

I thought  A16 had functionality to delete world pawns automatically and manual clean up was no longer necessary...   I could have sworn I saw a post or release note from Tynan saying he'd done that.

khearn

It should be very simple to test whether or not lots of empty stockpiles hurt performance. Just pause, create a bunch of empty stockpiles  (that don't accept anything that isn't already stockpiled), and unpause and see how it goes. You'll want to let it run for a little while because there may be some initial lag as the system does initial checks for the new stockpiles, but after a few ticks that should be done and you can see how things run. Even without an FPS display, you should be able to get a good idea of the effect. If you can't see a difference, then there is no significant difference.

"A difference that makes no difference, is no difference." - Spock

ArguedPiano

Quote from: Aerial on April 26, 2017, 08:56:53 AM
Quote from: skullywag on April 26, 2017, 04:10:46 AM
Im not gonna weight in on the actual question simply cuz i havent don enough research to answer it, however keep in mind the single biggest source of lategame lag is world pawns, either use Zhentars mod that cleans these up a little or manually remove em from your save file (you have to be careful what you delete obv).

I thought  A16 had functionality to delete world pawns automatically and manual clean up was no longer necessary...   I could have sworn I saw a post or release note from Tynan saying he'd done that.

you are correct sir:
Quote from: Tynan on December 08, 2016, 08:22:57 PM
A16 will do this automatically, so you shouldn't need to do this yourself in future.

That being said whether or not there are additional steps one could take to reduce late game lag remains to be seen.
The only difference between screwing around and science is writing it down.

RemingtonRyder

There's a limitation placed on how much time is spent searching to find a good place for something to go. This limitation means that things don't always go in the best spot in the correct stockpile, but the cost of finding it is low which means impact should be minimal most of the time.

faltonico

Thank you all for your help,
I did a massive simplification of my stockpiles and i have noticed some slight improvements... that of the fact that i got rid of over 400 slag chunks scatered all over my map, another 300 more to go.
@skullywag
I'm using them already, and also some of Blas88 tweaks... i'm starting to think the lag might be related to CPU bottleneck, i have RimWorld1393Win.exe using 13% of CPU all of the times, a whole single core of the 8 my system has.

skullywag

single core speed is the MOST important factor in performance for this game, I also have 8 cores (which i do use for other stuff) but an i7 with 4 cores will outperform me simply becasue the single core speed is higher.
Skullywag modded to death.
I'd never met an iterator I liked....until Zhentar saved me.
Why Unity5, WHY do you forsake me?