Ludeon Forums

RimWorld => General Discussion => Topic started by: faltonico on April 25, 2017, 06:43:11 PM

Title: Stockpiles and performance
Post by: faltonico on April 25, 2017, 06:43:11 PM
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?
Title: Re: Stockpiles and performance
Post by: SpaceDorf on April 25, 2017, 07:46:51 PM
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 ..

Title: Re: Stockpiles and performance
Post by: 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.
Title: Re: Stockpiles and performance
Post by: 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).
Title: Re: Stockpiles and performance
Post by: SpaceDorf on April 26, 2017, 06:33:47 AM
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.
Title: Re: Stockpiles and performance
Post by: 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.
Title: Re: Stockpiles and performance
Post by: khearn on April 26, 2017, 11:48:27 AM
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
Title: Re: Stockpiles and performance
Post by: ArguedPiano on April 26, 2017, 04:59:26 PM
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.
Title: Re: Stockpiles and performance
Post by: RemingtonRyder on April 26, 2017, 08:38:46 PM
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.
Title: Re: Stockpiles and performance
Post by: faltonico on April 27, 2017, 01:57:12 AM
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.
Title: Re: Stockpiles and performance
Post by: skullywag on April 27, 2017, 04:33:38 AM
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.