Jump to content

Jet suits and voles causing slowdown


Coolthulhu
  • Branch: Live Branch Version: Windows Known Issue

Jet suit and vole pathing causes noticeable slowdown in colonies where a large part of the map is discovered, space is reachable by jet, and abyssalite layer separating space and asteroid is breached.

 

Attached save for easier reproduction on live data. Left of printing pod, there is a jet suit checkpoint which can be enabled/disabled by configuring the pneumatic doors. In the upper-left corner of the map, there are unconfined voles. Below printing pod, there are confined voles (those do not cause lag).

Removing the unconfined voles and disabling the jet suit checkpoint causes a noticeable performance boost on my low/mid end machine. Didn't measure it objectively, but it's clear to the naked eye, something like 30% fps increase.

Shelter.sav


Steps to Reproduce
Load attached save. Check fps. Kill voles in upper left and disable jet suits. Check fps again.



User Feedback


I too am having this issue, i've posted the log and save file here : 

Seems that it's large open areas not just out in space that it's happening, if there is a large volume of open space you can see with the show navigation button on duplicants that their pathfinding is covering the entire open space when they are using jet suits.

I think if the branching in the pathfinding was limited in some way to prevent it from just covering everything then performance would improve, basically if a duplicant doesn't need to go somewhere, don't bother pathfinding to that place, you can limit this with doors and permissions but it's still not enough.

Share this comment


Link to comment
Share on other sites

For pathfinding the game seems to calculate pathfinding per duplicant, which is fine if you only have 5 or less but when you get up to 10 or 20 the individual pathfinding slows down the game, especially the jet suits, one way to deal with it could be to batch the pathfinding of duplicants next to eachother and group their calculations as one.

Pathfinding also seems to update everytime a dup moves a tile, which isn't necessary, you'd only need to update the immediate surrounding area of the pathfinding, then compare if the branches can connect, this would limit updating the rest of the tree and only update branches that need updating.

Another way could be to have a common tree for pathfinding and have all the duplicants share that same tree, essential you'd store both ground level travel and jet suit travel (if there are jet suits available) in the same tree, then highlight different branches depending on which duplicant can use them, most of the time duplicants share the same general area so having a common tree would be more efficient, tho this is just speculation.

Share this comment


Link to comment
Share on other sites

Seems Pathfinding for Jet Suits and maybe even without is calculated every tick, even when the duplicant already has found a task and has the path calculated, would make more sense performance wise to only check if the path is still valid instead of re-calculating it each tick, this should massive improve performance.

Share this comment


Link to comment
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...