Jump to content

I just did a test and feel VERY confident that debris on the floor causes low frame-rate


Recommended Posts

I was experiencing bad frame rate lags down to 15  FPS for about 50 cycles on a stable base.  I rebooted my machine, checked available memory, closed other programs, increased the windows priority, everything I could think of outside the game to improve it.

 

Just really bad lags of down to 15 FPS for about 40% of the time playing.

 

Then (and I was careful not to change anything else), I built a bunch of compactors and swept up all of the debris into compactors NEAR TO WHERE THE DEBRIS ALREADY WAS (so it was not a matter of moving it somewhere else on the map) and now my frame-rate doesn't dip below 40.

I carefully searched these forums and while people were suggesting that MAYBE having debris in containers was better than having it on the floor for performance I've never seen anyone post that they tested it and definitively said that it causes poor performance.

I strongly believe that with the current build low frame-rate issues can be caused by debris in the floor and fixed by putting it into compactors.

 

Link to comment
Share on other sites

Open debug. Dig out every other line on the map. Check fps. Clear floor on whole map. Compare fps.

26 minutes ago, greggbert said:

I've never seen anyone post that they tested it and definitively said that it causes poor performance.

It's been done. It doesn't affect fps much.

Link to comment
Share on other sites

Resources on the ground is not in it self bad, because the game keeps a database of all resources, the reason we have the list on the right side.

 

This list allows the game to be smart about searching for resource jobs, but it does have to search for a pile to pick up and if the pile doesn't contain a lot of resources it has queue up many dupes to complete one job that one dupe could do on it's own, so resources on the ground is costly in dupe work, but the searches is limited by the number of dupes, so while it cost something, I'm not sure the resources on the ground is lagging the game.

 

Tons of pipes with packets in them seems way worse problem, see how all pipes stutter if you place or remove pipes. It seems that every packet in a pipe create a ton of work for the game.

 

Link to comment
Share on other sites

15 minutes ago, Miravlix said:

Tons of pipes with packets in them seems way worse problem, see how all pipes stutter if you place or remove pipes. It seems that every packet in a pipe create a ton of work for the game.

That's one of the reasons why it is now multithreaded.

Link to comment
Share on other sites

I just tested this with my current base at ~1600 cycles.  I enabled debug mode and cleared the floors everywhere in my base.  I have debris everywhere, as I prefer not to use a central storage area, so this was particularly interesting to me.  In my test, I only saw ~5 fps improvement after clearing the entire base, which means actually deleting all the debris and not even storing it.  I went from mid-high 20s to low 30s. 

The biggest impact I've seen is from pathing.  Jet-suits in particular have a huge performance hit.  I have them limited to only a small area in space, and even then I usually block it off using door access unless I'm actively working in space because it drops my framerate by about half.  When I was initially setting it up, occasionally dupes would find there way out of my restricted area and manage to get a jet-suit into the rest of the map.  Whenever this happened, it was immediately noticeable as my game would become a slideshow.

Link to comment
Share on other sites

1 hour ago, Miravlix said:

Tons of pipes with packets in them seems way worse problem, see how all pipes stutter if you place or remove pipes. It seems that every packet in a pipe create a ton of work for the game.

It's why I use bridges everywhere I can. It's more costly on in game resources, but less costly on computer resources :p

Of course, with it recently being multithreaded, I've no idea how necessary it is any more.

Link to comment
Share on other sites

What really has a huge impact for performance is pathfinding.

Now, if you have slime for example somewhere in the world. And you need just a frew gramms of slime now an then. Everytime you need slime, a dupe will be assigned to run there, grab a small amount, and move it to the place where its needed.

Now upscale this to every ressource you may need somewhere, like coal for generators, water for something.... Every time a dupe gets a path there, and then to the receiver. And if the paths are not just straight lines, the matter goes worse. 

So: Yes it improves the gameplay, if you store the ressources in places, easy to reach, without long ways. Not because the ressources itself uses much power on your PC, but the pathfinding does.

1 hour ago, Miravlix said:

Tons of pipes with packets in them seems way worse problem, see how all pipes stutter if you place or remove pipes. It seems that every packet in a pipe create a ton of work for the game.

 

The cause for the stutter is not the liquid itself. Its because the flow will be stopped, and the whole pipe-network is getting re-calculated, to determine if something has changed. Yes, it would be nice, if this woul only happen, if we change a uses pipe, and not when we build a complete new line. But the system is "there is a new pipe, lets look what have changed" for the whole system, because it is a single sub-process for the whole network. 

At the beginning, this takes nanoseconds, and you wont notice it at all, but it happens. Later, with lots of pipes, the process will take much longer. The single pipe-segment will take as long as in the beginning, but huge amounts of small task sum up.

Link to comment
Share on other sites

7 hours ago, SharraShimada said:

So: Yes it improves the gameplay, if you store the ressources in places, easy to reach, without long ways. Not because the ressources itself uses much power on your PC, but the pathfinding does.

about the storage, is it matter if I only store one material?

Link to comment
Share on other sites

Can you share some bases that are having FPS issues / lots of debris?  I am exploring this issue by rigging a save editor to bulk delete material to get a pure before/after FPS measurement.  Doing this should let us compare the exact difference as everything else will be identical between the two saves.

Link to comment
Share on other sites

On 2019/1/15 at 1:13 PM, ozymandias_3 said:

I assume storing gases and liquids in their reservoirs improves fps? and how about turning needless water into ice?

 

Sure 5fps isn't much for some people with better rigs, for laptop folks above 1000 cycles,  any fps improvement is a gain.

Solidifying liquids introduces a new problem that melting back  is much harder work.

Because the solid debris is treated as a whole even if it's over 100tons.

Your best try is to build them into temp-shift plates.

Link to comment
Share on other sites

Imagine you have storage full of dirt. If anything needs dirt there is only one destination for it. 

Now if dirt is all over the floor there is a large list for the dupe to pick through.  That extra bit of work adds up when you have it happening all the time. 

Link to comment
Share on other sites

I have tried so many things to improve late game performance. Removing floor debris has never had a great impact for me. Nor has reducing heat calculations or consolidating material storage.

Limiting available pathing does help somewhat, though not as much as I would have expected. Even in extreme circumstances of locking dupes into confined spaces. 

What has had the most impact for me is the number of printed dupes. With 12-16 dupes, I can expect about 10 fps by cycle 600. With only 8 dupes, my game is a little under 20 fps by cycle 600. I started a solo dupe game, now at cycle 1026 and I am still getting over 30 fps. The base is every bit as complicated as my previous bases in terms of piping and even heavier on automation and shipping, though about half the size..

 

Link to comment
Share on other sites

My theory is gas sitting around in the environment. I mined out my whole game, and if I try to use sandbox to even attempt to delete anything now, it freezes the game for seconds before deleting what I select. I can't even attempt to hold down the delete and scroll around. I'm hoping I can pump out all the gas to make it a vacuum except in a small area to see how much that increases fps. But at this rate... it's gonna take awhile.

Link to comment
Share on other sites

I’m not finding FPS consistent. I’m on cycle 1020, have 20 dupes, I’ve explored the entire map, and my base covers a fair percentage of it. I’ve seen anywhere between 4 FPS and 30.

For reference, my CPU is a 5820k, and GPU is a GTX 970. I’m assuming that unlike most games, Oxygen Not Included is primarily CPU bound.

Link to comment
Share on other sites

5 hours ago, Fallonius said:

My theory is gas sitting around in the environment. I mined out my whole game, and if I try to use sandbox to even attempt to delete anything now, it freezes the game for seconds before deleting what I select. I can't even attempt to hold down the delete and scroll around. I'm hoping I can pump out all the gas to make it a vacuum except in a small area to see how much that increases fps. But at this rate... it's gonna take awhile.

I've been thinking of this same thing. And cleaning up all the little bits of liquid here and there. Let me know how it works if you try it!

Link to comment
Share on other sites

1 minute ago, gredalusiam said:

I've been thinking of this same thing. And cleaning up all the little bits of liquid here and there. Let me know how it works if you try it!

I just tried running the sandbox and vacuuming everything. It's VERY hard to do since there are tons of tiny pockets of gas outside of the main pocket. Did increase fps by 10 from 16-26 just by changing a majority of it to vacuum.

Link to comment
Share on other sites

Just for kicks I created a new debug game, walled off space zoomed out so I could see the whole map on x3 speed and noted fps(also saved map position). Turned entire map to vacuum and destroyed all POI's, vents, critters and seeds. Nothing but a bit of netronimum left. Returned to same map position and noted fps again.

Full map FPS 21, empty map FPS 47.

Was expecting there to be more of a difference. I know it's a big difference but we are dealing with a map that has literally zero things in it to calculate vs one full of wild critters, plants, heat difference, germs etc. Then for no reason I filled the entire map with coal all the way to the bunker tiles, coal tiles 900kg at -41C.

Coal map FPS 60!

Sooooooooooo I'm not sure what we learned here, maybe vacuum is not as processor friendly as we though?

PerformanceTest3.sav

PerformanceTest2.sav

PerformanceTest.sav

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...