suxkar Posted June 25, 2019 Share Posted June 25, 2019 I'm willing to use debug mode to make the game flow better as long as it doesn't "break" normal gameplay (like outright deleting regolith). Still, I've looked around and in some points I can't seem to find a consensus: 1) Which is lighter for the cpu, a neutronium or a vacuum tile? Which one should i use to fill space I don't need? I've seen people filling biomes with normal tiles but I guess those still require heat transfer calculations. 2) Again, which is better? Having multiple storage bins to gather all debris in the map, each with one element ( i guess not)? Having a single infinite storage for everything with mods or one for each element? Just dropping everything in one tile with sweep commands and the automation "unloaders"? Dropping in different tiles, each for different elements? Whatever the choice, it should help if it is in vacuum right? 3) Of course, limiting pathing as much as possible (I wonder if someone dares using jetsuits). Even when keeping pathing to the minimum, how badly does it still "scale" with number of duplicants? 4) Does it really help to deny jobs in priorities? When an errand is under calculation I still temporarily see the names of dupes that are not allowed to do that job (of course they are not chosen in the end, but they still appear, suggesting they are included in the calculation anyway). Any other tip? I feel like there should be like a sticky post for this Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/ Share on other sites More sharing options...
Sasza22 Posted June 25, 2019 Share Posted June 25, 2019 1 hour ago, suxkar said: Which is lighter for the cpu, a neutronium or a vacuum tile? I`m pretty sure vacuum is treated as gas for the simulation. Meanwhile neutronium gets no calculations at all. People have been generating maps 8 times the size and putting neutronium over 75% of it to get normal performance. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213895 Share on other sites More sharing options...
Coolthulhu Posted June 25, 2019 Share Posted June 25, 2019 1 hour ago, suxkar said: 2) Again, which is better? Having multiple storage bins to gather all debris in the map, each with one element ( i guess not)? Having a single infinite storage for everything with mods or one for each element? Just dropping everything in one tile with sweep commands and the automation "unloaders"? Dropping in different tiles, each for different elements? Whatever the choice, it should help if it is in vacuum right? Less items should be faster. Droppers can stack items into 25t piles and so should be good here. Plus, this also means you avoid compactors, which are objects themselves. Infinite storage would probably be better, though. One thing to note is that reachable items may have a higher cost. It seems that reachable items may be considered for jobs, while unreachable ones won't be. Not sure if sweeper-reachable items count as reachable or not here. 2 hours ago, suxkar said: 3) Of course, limiting pathing as much as possible (I wonder if someone dares using jetsuits). Even when keeping pathing to the minimum, how badly does it still "scale" with number of duplicants? Each duplicant pathfinds separately, so expect linear scaling. They share suit counters, but last time I checked, they were bugged under heavy load so you should always have spare suits anyway. Since ONI almost certainly uses mostly naive A* pathfinding, you want to limit the number of pathfinding nodes within typical travel distance. That is, large areas on the other side of map don't matter much, but "snaking" base does. You also want paths to be as straight as possible. Build grids, block off unused sections. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213908 Share on other sites More sharing options...
Nightinggale Posted June 25, 2019 Share Posted June 25, 2019 2 hours ago, suxkar said: 4) Does it really help to deny jobs in priorities? When an errand is under calculation I still temporarily see the names of dupes that are not allowed to do that job (of course they are not chosen in the end, but they still appear, suggesting they are included in the calculation anyway). I would assume the less chores the dupes have to pick from, the less CPU load. It should be easy to test though. Just disable all jobs for all dupes and see if FPS goes up. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213910 Share on other sites More sharing options...
suxkar Posted June 25, 2019 Author Share Posted June 25, 2019 1 hour ago, Sasza22 said: I`m pretty sure vacuum is treated as gas for the simulation. Meanwhile neutronium gets no calculations at all. People have been generating maps 8 times the size and putting neutronium over 75% of it to get normal performance. Yeah I read somewhere vacuum is a gas and is "destroyed" by other gases. Thank you fro your answer, it shall be neutronium all the way then. the claustrophobia feel is gonna be a nice plus 14 minutes ago, Coolthulhu said: Less items should be faster. Droppers can stack items into 25t piles and so should be good here. Plus, this also means you avoid compactors, which are objects themselves. Infinite storage would probably be better, though. One thing to note is that reachable items may have a higher cost. It seems that reachable items may be considered for jobs, while unreachable ones won't be. Not sure if sweeper-reachable items count as reachable or not here. Each duplicant pathfinds separately, so expect linear scaling. They share suit counters, but last time I checked, they were bugged under heavy load so you should always have spare suits anyway. Since ONI almost certainly uses mostly naive A* pathfinding, you want to limit the number of pathfinding nodes within typical travel distance. That is, large areas on the other side of map don't matter much, but "snaking" base does. You also want paths to be as straight as possible. Build grids, block off unused sections. I forgot there is a maximum stack. So there are still going to be many 25t patches of various materials. Do you think this would be a palpable improvement compared to just a bunch of 20t storage bins? May be so because they would be all in the same tile and limit patchfinding/heat exchange? Also, should have expected the pathfinding to scale linearly, I guess it makes sense. That basically means that with 24 dupes It'll just get worse, right? Francis John is going for 100 dupes.. I can hear his computer cry. I guess he can imprison them though. Also thanks for the A* pathfinding information. That basically means that even a long L shaped path can be VERY much worse then a straight one right? Didn't think that would matter before reading about it! Thank you again for all the info!! 2 minutes ago, Nightinggale said: I would assume the less chores the dupes have to pick from, the less CPU load. It should be easy to test though. Just disable all jobs for all dupes and see if FPS goes up. Thanks for the tip, will do! Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213915 Share on other sites More sharing options...
Oozinator Posted June 25, 2019 Share Posted June 25, 2019 Kill all critters and then all dupes! 2 hours ago, suxkar said: Any other tip? I feel like there should be like a sticky post for this Kill all critters and dupes! Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213917 Share on other sites More sharing options...
metallichydra Posted June 25, 2019 Share Posted June 25, 2019 just fill up the rooms full of magma in the magma biome with neutronium, at least the magma that cant be reached (since its encased in neutronium) as far as i know, flying critters should be killed. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213919 Share on other sites More sharing options...
Gurgel Posted June 25, 2019 Share Posted June 25, 2019 1 hour ago, Nightinggale said: I would assume the less chores the dupes have to pick from, the less CPU load. It should be easy to test though. Just disable all jobs for all dupes and see if FPS goes up. Probably not. They only do calculations on the top prio and maintaining the prio-list should be very cheap. Did anybody try this? Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213939 Share on other sites More sharing options...
natanstarke Posted June 25, 2019 Share Posted June 25, 2019 Get a infinity storage mod. Build insulated tiles everywhere. Each storage having only 1 resource. Use only like 3 types of critters and only 8 of each. Kill every wild animal and plant besides sleet wheat, peppers are easier to plant. If you have long pipes always insulate them or even use lots of bridges to jump the content. Avoid letting transformations of elements occur anywhere in the map if not intended like water vaporizing in the oil biome. Vent gases to space then fill everything with oxygen " this one i do not tested yet". 1 hour ago, Gurgel said: Probably not. They only do calculations on the top prio and maintaining the prio-list should be very cheap. Did anybody try this? Disable all i did not but letting each dupe do only like 3 jobs made the game a little bit more efficient but gameplay wise i dont percieved any change in the performance. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213955 Share on other sites More sharing options...
suxkar Posted June 25, 2019 Author Share Posted June 25, 2019 2 hours ago, metallichydra said: just fill up the rooms full of magma in the magma biome with neutronium, at least the magma that cant be reached (since its encased in neutronium) as far as i know, flying critters should be killed. Oh.. I didn't think about the flyers.. I kinda liked my 80+ non maintained shyne bugs farm for eggshells.. A ball of light that only requires a lure and a bit of phosporite. Oh well, time for carnage! 2 minutes ago, natanstarke said: Get a infinity storage mod. Build insulated tiles everywhere. Each storage having only 1 resource. Use only like 3 types of critters and only 8 of each. Kill every wild animal and plant besides sleet wheat, peppers are easier to plant. If you have long pipes always insulate them or even use lots of bridges to jump the content. Avoid letting transformations of elements occur anywhere in the map if not intended like water vaporizing in the oil biome. Vent gases to space then fill everything with oxygen " this one i do not tested yet". I don't understand the reasons behind many of your points: why 3 types of critters? why 8 of them? Are you sure about bridges? They do teleport liquids sparing heat calculations, but don't they **** with piping calculations? Now that I think about it they might even be good for them.. many small circuits are better then few big ones right? Or is it the other way around?? You mean insulated tiles/pipes made of Insulation? Otherwise, while still having a minuscule heat transfer coefficient, it's non zero so the calculation will be the same I believe. Correct? Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213962 Share on other sites More sharing options...
metallichydra Posted June 25, 2019 Share Posted June 25, 2019 this is where you can fill neutronium, without breaking gameplay, because you'll never get there anyway, and there's no heat transfer or anything. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213971 Share on other sites More sharing options...
natanstarke Posted June 25, 2019 Share Posted June 25, 2019 25 minutes ago, suxkar said: Oh.. I didn't think about the flyers.. I kinda liked my 80+ non maintained shyne bugs farm for eggshells.. A ball of light that only requires a lure and a bit of phosporite. Oh well, time for carnage! I don't understand the reasons behind many of your points: why 3 types of critters? why 8 of them? Are you sure about bridges? They do teleport liquids sparing heat calculations, but don't they **** with piping calculations? Now that I think about it they might even be good for them.. many small circuits are better then few big ones right? Or is it the other way around?? You mean insulated tiles/pipes made of Insulation? Otherwise, while still having a minuscule heat transfer coefficient, it's non zero so the calculation will be the same I believe. Correct? I heard in the forums that very little calculations may endup being ignored so insulated igenous/ceramic should help. If the pipe is going 1 direction with a lot of bridges shouldnt be a problem just a teleport buff of non heat calc. And yes in your case shinys are probably the killers of your cpu. 8 critters because its the value most efficient for 1 ranch of the grounded critters and the 3 critters is to just avoid having more stables of 8 around " im suposing that you will ranch every critter you do not killed so if 4 species live then 32 critters and so on. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213972 Share on other sites More sharing options...
Nightinggale Posted June 25, 2019 Share Posted June 25, 2019 42 minutes ago, natanstarke said: If you have long pipes always insulate them or even use lots of bridges to jump the content. Insulation makes no sense to mention in regard to FPS. All insulation will do is applying a different multiplier, which makes the heat exchange go slower. They will still do the same amount of calculations each second. However maybe there is a threshold where it goes "it's below 0.001%" change or whatever where it will just round to 0, hence no calculations. I'm not aware of such code, but it's possible. 30 minutes ago, suxkar said: Are you sure about bridges? They do teleport liquids sparing heat calculations, but don't they **** with piping calculations? Now that I think about it they might even be good for them.. many small circuits are better then few big ones right? Or is it the other way around?? There is no heat exchange with bridges. They just teleport liquid/gas from input to output without modifying the temperature. One of the updates mentioned pipes being multi-threaded. It's highly likely that splitting one pipe into two can make those two pipes run on different CPU cores in parallel, hence making many small pipe systems faster than one giant system. However I'm not certain how they managed to make pipes multithreaded and it would be interesting to get an official statement on this. Obviously the gain from multithreading depends on your number of CPU cores. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1213973 Share on other sites More sharing options...
mathmanican Posted June 25, 2019 Share Posted June 25, 2019 1 hour ago, Nightinggale said: I'm not aware of such code, but it's possible. See In particular this line: if |ΔQ'| < 1.0E-4, no transfer is done Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214000 Share on other sites More sharing options...
Nightinggale Posted June 25, 2019 Share Posted June 25, 2019 3 minutes ago, mathmanican said: if |ΔQ'| < 1.0E-4, no transfer is done The problem is this is listed under Cell/Cell transfers. Pipe contents to pipe is Cell/Entity and pipe to gas/room is Cell/Building. This means taking that link for face value, that restriction doesn't apply to insulated pipes. Does that mean it doesn't apply? That's a good question. One thing I don't like about that post is how loosely the line between the different types of transfers are written. It's written like they are independent, but then to look up what some letter means, you have to read one of the other entries. What I really wish for would be how to gain access to the source code for TheSim.dll. It doesn't have to be modable, just knowing what goes on would be great. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214005 Share on other sites More sharing options...
Rainbowdesign Posted June 25, 2019 Share Posted June 25, 2019 I think there are many areas of the game where heat calculations dont affect the gameplay so maybe its a good idea to make a mod to flag this areas to not do calculations as example when the lava pocket are unopened and have similar temperature and mass you could disable the mass and temperature calc on it. Also you could reduce the tims undiscovered regions temperature and mass gets updated, or in general reduce those updates but increase the update "power" so its still the same effect. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214014 Share on other sites More sharing options...
bobucles Posted June 26, 2019 Share Posted June 26, 2019 Probably not. They only do calculations on the top prio and maintaining the prio-list should be very cheap. Did anybody try this? It probably would. Have you seen how quickly duplicants toggle through priorities? They calculate the entire world pretty much every tick. The less they have to worry about, the better. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214174 Share on other sites More sharing options...
Coolthulhu Posted June 26, 2019 Share Posted June 26, 2019 18 hours ago, suxkar said: Also thanks for the A* pathfinding information. That basically means that even a long L shaped path can be VERY much worse then a straight one right? You can't really have diagonal movement, so L-shaped is one of the safest paths you can get. Grids are also safe. Avoid long 'U's. But only the long ones - the extra cost is not affected by U being present, but by the number of steps you have to take in "the wrong direction". A useful visualization is to think of it as liquid spilling on a tilt surface. It tries to flow straight to destination, but collects in bends until it fills them. Too many bends and you waste the tilt. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214245 Share on other sites More sharing options...
Gurgel Posted June 26, 2019 Share Posted June 26, 2019 1 hour ago, Coolthulhu said: You can't really have diagonal movement, so L-shaped is one of the safest paths you can get. Grids are also safe. If you look at dupe pathing, they do move diagonally as well. Probably would look very unnatural if they were not. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214269 Share on other sites More sharing options...
suxkar Posted June 26, 2019 Author Share Posted June 26, 2019 2 hours ago, Coolthulhu said: You can't really have diagonal movement, so L-shaped is one of the safest paths you can get. Grids are also safe. Avoid long 'U's. But only the long ones - the extra cost is not affected by U being present, but by the number of steps you have to take in "the wrong direction". A useful visualization is to think of it as liquid spilling on a tilt surface. It tries to flow straight to destination, but collects in bends until it fills them. Too many bends and you waste the tilt. Ok now I get it, the example you gave is extremely clear. One last question, just for the sake of curiosity: what about a U shape where the vertical parts are just 1 tile wide ladders and the horizontal one is just 2 tiles high. If there are no other corridors around, this would not impact calculations as much since there are not many tiles that can be checked, right? If instead there was also a corridor parallel but not connected to the last vertical part of the U, but connected to the entrance, then this would be problematic right? I mean something like the image I attached. Yes, I'm an artist dupe! Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214289 Share on other sites More sharing options...
Coolthulhu Posted June 26, 2019 Share Posted June 26, 2019 2 hours ago, Gurgel said: If you look at dupe pathing, they do move diagonally as well. Probably would look very unnatural if they were not. They have a bunch of diagonal movement options in some cases, but they're always slower than proper grids so you should be eliminating those anyway. 1 hour ago, suxkar said: Ok now I get it, the example you gave is extremely clear. One last question, just for the sake of curiosity: what about a U shape where the vertical parts are just 1 tile wide ladders and the horizontal one is just 2 tiles high. If there are no other corridors around, this would not impact calculations as much since there are not many tiles that can be checked, right? Try out this visualization: https://qiao.github.io/PathFinding.js/visual/ Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214313 Share on other sites More sharing options...
Sasza22 Posted June 26, 2019 Share Posted June 26, 2019 When talking about pathing don`t forget that available (reachable) resources are calculated based on pathing. The entire resource list on the right needs to be reachable for dupes so pathing calculations must include the tiles dupes can reach to pickup stuff. That might be another layer of calculations. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214320 Share on other sites More sharing options...
suxkar Posted June 26, 2019 Author Share Posted June 26, 2019 2 hours ago, Coolthulhu said: They have a bunch of diagonal movement options in some cases, but they're always slower than proper grids so you should be eliminating those anyway. Try out this visualization: https://qiao.github.io/PathFinding.js/visual/ Great, thanks! EDIT: Whoa, the example I gave was TERRIBLE for calculation Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214349 Share on other sites More sharing options...
nets Posted June 27, 2019 Share Posted June 27, 2019 On 6/25/2019 at 5:44 PM, Nightinggale said: Insulation makes no sense to mention in regard to FPS. All insulation will do is applying a different multiplier, which makes the heat exchange go slower. They will still do the same amount of calculations each second. However maybe there is a threshold where it goes "it's below 0.001%" change or whatever where it will just round to 0, hence no calculations. I'm not aware of such code, but it's possible. Take a look at your bunker walls, around your rockets. Do you notice that their temperature is increasing/decreasing at a pretty consistent rate? Now take a look at other rocks, are they all the same temperature? Some are from the time the map was generated, those will probably be "smoother". I think the 0.001% is a bit higher - and saving memory writes can potentially be increased performance. But i don't know that you can get away from the reads though. However if you reduce temperature domains, by vacuum gap or insulation, can't that potentially ease off on the areas that have constant updates, vs those areas that don't? Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1214840 Share on other sites More sharing options...
Guest Posted August 2, 2019 Share Posted August 2, 2019 I reached the 1200 cycle and the game turned into a 1-2 frames slideshow. No tricks will save the opportunity to play after going into space. For several hours I tried to save the game, but it is useless. It makes no sense to waste time on this game if you want something more than a miner simulator. The release is a complete failure. So much work has been invested for a variety of gameplay, but in the end, the game was killed by optimization. Link to comment https://forums.kleientertainment.com/forums/topic/107909-help-with-non-gamebreaking-tricks-to-optimize-fps-even-with-debug-mode/#findComment-1238375 Share on other sites More sharing options...
Recommended Posts
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.