Jump to content

Latest on pipes and FPS


Recommended Posts

Could anyone explain the latest and greatest on pipe-network design to minimize lag? I understand that things changed there a few months ago. 
 

I tend to use giant fluid loops to move heat around so I want to make sure I structure things as Computationally efficiently as possibly to make my late game playable

Link to comment
https://forums.kleientertainment.com/forums/topic/113304-latest-on-pipes-and-fps/
Share on other sites

On 11/3/2019 at 12:22 PM, caffeinated21 said:

Could anyone explain the latest and greatest on pipe-network design to minimize lag? I understand that things changed there a few months ago. 

For any given pipe segment there should only be one direction of flow.  That will minimize lag for pipes.

Cooling loops, priority loops, circulating loops, temporary flows, continual flows, partial flows.. I have it all, and its a mess.. and my FPS hasn't changed in the 500 cycles since I started the game.

Spoiler

image.thumb.png.f57ad4976d0bf71528576ad60e5c2779.png

Each segment only allows one direction of flow, even if there are multiple inputs and/or outputs.

10 hours ago, KittenIsAGeek said:

Cooling loops, priority loops, circulating loops, temporary flows, continual flows, partial flows.. I have it all, and its a mess.. and my FPS hasn't changed in the 500 cycles since I started the game.

  Reveal hidden contents

image.thumb.png.f57ad4976d0bf71528576ad60e5c2779.png

Each segment only allows one direction of flow, even if there are multiple inputs and/or outputs.

Piping has far less impact if you have more CPUs. Its one of the things that got (thankfully) multithreaded. The problem is if you have many Headsources and many cooling sources.

In Example: A cooling loop that constantly cools your generators a little is worse then an cooling loop that only activates ones every 20 cycle and brings your gens down be 10°.

Full vacuum seems to help but milligram areas are far worse (little heat input changes the temp a lot) 

Hopefully the next update takes so long because they want to fix the Conveyer multi threading. This frees more ressources for the rest of the game. (if you have enough CPUs ;))

SO basically it is not the piping that is your problem it is the interactions of the content of the pipes that causes the lag.

7 hours ago, FenrirZeroZero said:

In Example: A cooling loop that constantly cools your generators a little is worse then an cooling loop that only activates ones every 20 cycle and brings your gens down be 10°.

Honestly, I haven't really seen much of an impact for running a cooling loop continually.  In the screenshot above, there area couple of continually-running loops (One cooling, one warming), and a couple of intermittent cooling loops.  They each have their purpose, and there are both pros and cons for each method.

7 hours ago, FenrirZeroZero said:

Full vacuum seems to help but milligram areas are far worse (little heat input changes the temp a lot) 

Thermal computations are, by far, the biggest performance hit in the game.  I did a post ages ago when Thermal Expansion was new showing how low pressure gases, mixed gasses, and stacked elements affected performance.  To summarize what I've learned:

  1. Vacuum is great. No calculations are done in a vacuum.
  2. Very low pressures result in wildly swinging temperatures, meaning that even a delta of 0.01c will trigger a full calculation run.
  3. Multiple elements in one cell result in multiple thermal calculations for that cell.  So you've got sixteen different elements sitting in a storage locker, or on the floor?  Each one of them that has a sufficient thermal delta will trigger a full calculation run.  Putting only a single element in any given locker improves performance dramatically -- the element is averaged with the mass already in the locker as it is added.  After that, only one calculation is run for the entire mass within the locker.
  4. Mid-range thermal deltas have the most CPU impact.  If the thermal delta is high enough (i.e. magma hits ice), thermal clamping (maximum thermal transfer check) terminates the calculation early.  If you have a very low thermal delta (50c insulation meets 60c water), the "minimum thermal transfer" check terminates the calculation early.  

There are also CPU impacts for the following cases:

  1. Large rooms filled with a (or multiple) gas(es).  Each cell of gas does calculations with its neighbors to determine if there is a quantity (mass) transfer.  Each cell of gas does a calculation to check if there is an element transfer.  Each cell of gas does a calculation to see if there is a thermal transfer.  Even if the room is completely sealed and hasn't been accessed, hovering your mouse pointer in the room will show subtle changes every tick.  These all impact performance.
  2. Liquids are similar, but do not have quite the impact.  I suspect this is because of the higher quantity of mass reducing the overall thermal calculation impact as well as limiting quantity movements.  There are exceptions: High pressure magma pools, for example, will have a knot of extra-high-pressure maga moving continually around inside them.
  3. Solid tiles only calculate thermal transfers.  For example: I have often dug out entire slime biomes to get the slime or algae or clay or whatever I was after (really, slime biomes are very useful).   If I didn't have a plan for the area itself, then I would follow up by filling the room with sandstone (or granite, or whatever) tiles.  As the temperature reaches equilibrium, the number of calculations done for that area dwindle down to nothing.

Anyway, I hope that helps.

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