Jump to content

Drop or move?


Recommended Posts

Lets assume I need to continuously move several thousands tons of solid materials from top of the map to the bottom. What will be best method FPS-wise: drop it through chute/dispenser or move it by rails? Or maybe some other method? I tried to use search but it's all cluttered with people upset about dupes dropping stuff.

Link to comment
Share on other sites

2 hours ago, Jann5s said:

 I interpreted the answer as being about FPS

I don't, because answer talks about rail throughput, and that's completely irrelevant to my question. Imagine 100 rails moving 20kg/s and 100 dispensers dropping 20.000 kg/ per unknown number of seconds. Even if I was asking how to move stuff faster, the answer will be "it depends". But I'm asking about influence of said chutes/dispensers on FPS.

Link to comment
Share on other sites

52 minutes ago, furytale said:

I don't, because answer talks about rail throughput, and that's completely irrelevant to my question. Imagine 100 rails moving 20kg/s and 100 dispensers dropping 20.000 kg/ per unknown number of seconds. Even if I was asking how to move stuff faster, the answer will be "it depends". But I'm asking about influence of said chutes/dispensers on FPS.

Rails take as much of FPS as pipes and ventilation and you will still need some sort of chute on bottom. So dropping should be cheaper, just make sure the stacks on bottom will not eat FPS. Also you can try to place storage (maybe on horizontal doors? Not sure if that worked, usually I was placing on tiles and removing tiles, but that cannot be automated.) fill it, and then drop whole 20t stack.

Link to comment
Share on other sites

52 minutes ago, Notecja said:

Rails take as much of FPS as pipes and ventilation

Are you 100% sure? Many years ago I heard different information.

52 minutes ago, Notecja said:

I was placing on tiles and removing tiles, but that cannot be automated.

Actually It can, melt the tile, drop stuff, shut the door below, fill it with liquid, freeze again. Talking about absurd methods one can move stuff to rocket, launch and land it below. But I'm interested specifically in rail vs falling stuff.

Link to comment
Share on other sites

Let me elaborate a bit. Remember those hatch farm designs where you drop egg on a series of doors and it lands on a floor where you need new hatch? Lets assume I want to design a base where entire delivery system is based on this principle. Like produce clay from pw -> drop it below -> produce ceramics -> drop it to storage. That sort of thing. So Im interested are there any pitfalls with the game engine if someone drops a lot of stuff from above. Maybe someone already tried that.

Link to comment
Share on other sites

On 8/28/2022 at 2:07 PM, furytale said:

So Im interested are there any pitfalls with the game engine if someone drops a lot of stuff from above. Maybe someone already tried that.

I certainly have. I frequently let gravity do the work. I don't think there's a major frame rate problem with doing that. Not that I had a great framerate at the time, but that was due to so many other things. In my specific case, I was using gravity to get polluted dirt from my distillers at the top of the map (venting CO2 to space) down to my pokeshell ranches much lower.

Link to comment
Share on other sites

On 8/28/2022 at 5:56 AM, furytale said:

 

question is about FPS.

Your FPS is tied to "how many things are being analyzed" more than "how many things are rendered."  Using a rail to the bottom vs an auto-dispenser that simply drops everything really isn't going to make a difference FPS-wise.  What will make a difference is how many cells on the map need to be processed for potential changes.  You'll find that the stack of debris at the bottom will affect your FPS much more than how that stack got there.

On 8/28/2022 at 11:20 AM, Notecja said:

just make sure the stacks on bottom will not eat FPS. 

This is going to be the biggest factor.  The fewer "items" in a cell, the happier your CPU will be.  You can improve your framerates by sorting your debris.  For example, lets say you drop 5t of dirt onto a cell that has 15t of dirt debris already on it.  When the dirt hits, the two stacks are merged into one item of 20t dirt, the temperature gets averaged based on mass, and its all done and happy rather quick.  If you drop 5t of dirt onto a cell that has 1t of dirt, 1t of granite, 1t of iron, 1t of sandstone, etc, then you have the 5t dirt merge with the 1t of dirt into 6t of dirt.  Then, for each other item on the stack, heat-transfer calculations are done to see if any or all of the elements on that stack need to change.  If any item might change, then the rest are analyzed again so that when the changes are applied, no heat is deleted or generated (hopefully).  In programming terms, it is a recursive algorithm.  Worst case, this is an exponential problem.  Best case is one of the coders is a mathematician and has figured out a logarithmic method.  Either way, the more differing types on the pile, the more your CPU will have to work.

Link to comment
Share on other sites

On 9/1/2022 at 11:14 PM, KittenIsAGeek said:

If you drop 5t of dirt onto a cell that has 1t of dirt, 1t of granite, 1t of iron, 1t of sandstone, etc, then you have the 5t dirt merge with the 1t of dirt into 6t of dirt.  Then, for each other item on the stack, heat-transfer calculations are done to see if any or all of the elements on that stack need to change.  If any item might change, then the rest are analyzed again so that when the changes are applied, no heat is deleted or generated (hopefully). 

Hijacking this to ask... would the same apply if i drop them all (ALL OF THE THINGS) in a vacuum on top of an mesh tile?

Link to comment
Share on other sites

On 9/2/2022 at 10:14 AM, KittenIsAGeek said:

If you drop 5t of dirt onto a cell that has 1t of dirt, 1t of granite, 1t of iron, 1t of sandstone, etc,

 

On 9/2/2022 at 10:14 AM, KittenIsAGeek said:

Then, for each other item on the stack, heat-transfer calculations are done to see if any or all of the elements on that stack need to change

Wrong, heat transfer only happen between material and 2 cells, the current cell and the cell right below it. If the current cell is vacuum, and the cell below it is also vacuum heat transfer wont happen at all. Materials on the same tile wont transfer heat between each other as long as there are no medium between them, and even if there are medium, they only transfer heat between mediums, not between each other. So stack all you like.

Link to comment
Share on other sites

3 hours ago, melquiades said:

Hijacking this to ask... would the same apply if i drop them all (ALL OF THE THINGS) in a vacuum on top of an mesh tile?

 

3 hours ago, Tranoze said:

 Materials on the same tile wont transfer heat between each other as long as there are no medium between them, and even if there are medium, they only transfer heat between mediums, not between each other.

So, Tranoze is correct in that if the materials are on a tile in a vacuum, no heat transfer occurs, even for stacked items.  So yes, dropping things in a vacuum on a mesh tile does avoid the heat-transfer 'trap' of item stacks.

3 hours ago, Tranoze said:

Wrong, heat transfer only happen between material and 2 cells, the current cell and the cell right below it. <snip> They only transfer heat between mediums, not between each other.

Yes, and no.  You're right in that materials dropped on a tile transfer heat only to the medium and not between each other.  However,  each item is checked for heat transfer with the medium every tick.  So lets say you have two items, one is hot, one is cold, in gas on a tile.

1) Item 1 <hot> is checked and must transfer heat to the gas, making the gas hotter and the item cooler.
2) Item 2 <cold> Is checked and receives heat from the medium, making the gas cooler and the item hotter.  Technically, thermal energy has been transferred from item 1 to item 2, it just went through an intermediary material to do so.
3) Medium is checked for heat transfer to all its connected tiles.

For each item on the stack, there's another check with the gas that occupies the cell with the stack of materials.  Eventually the items will settle to an equilibrium where there isn't enough thermal energy to cause a transfer, and the checks will stop.  If you're in a medium that allows for better thermal transfer, this happens more quickly.  If the medium does not, then it happens more slowly.  So items piled in CO2 will trigger heat transfer checks much longer than items dropped into water.

If the algorithm is linear, as outlined above, thermal energy will not be conserved in the process, but CPU load will be much lighter on very large stacks.  Perhaps this explains the odd thermal behavior of items on a conveyor.

Link to comment
Share on other sites

51 minutes ago, KittenIsAGeek said:

For each item on the stack, there's another check with the gas that occupies the cell with the stack of materials.  Eventually the items will settle to an equilibrium where there isn't enough thermal energy to cause a transfer, and the checks will stop.  If you're in a medium that allows for better thermal transfer, this happens more quickly.  If the medium does not, then it happens more slowly.  So items piled in CO2 will trigger heat transfer checks much longer than items dropped into water.

Thermal equilibrium only work on very very fast heat transfer structures. For pile of various material, you shouldn't consider it a factor at all.

Unless you put materials on tile, seal them, then never interact with them after, equilibrium will never happen. As living colony will continue generate heat, remove heat, add materials, take materials from the pile, heat transfer will always happen. You need to stack materials to 20 tons~30 tons for them to cause less lag, and at that mass, even with thermium metal tile that sealed, it still need hundreds to thousands or millions of cycles to reach equilibrium, The less temperature different cause heat transfer to slow down, so why you put thermal equilibrium in fps caculation?

51 minutes ago, KittenIsAGeek said:

However,  each item is checked for heat transfer with the medium every tick.  So lets say you have two items, one is hot, one is cold, in gas on a tile.

Because item always check for heat transfer with medium every tick, doesnt matter where it is, in the pile or not in the pile, as long it not in vacuum, the required computing power is the same, so you should count this heat transfer as basic need for material to exist, and as long as there are material and there are medium for it to connect to, it will heat transfer, which make split material bad for fps.


Also this is 0 heat transfer materials pile i often build, I normally build it on wall so dupe with suit and without suit can both access to the materials. Requirement is you cant put any material can emit gas.

image.thumb.png.9d150b298215a48df9df866ad7d16ca7.png

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