Jump to content

Latest anti-lag tricks? (late game)


Recommended Posts

Hey guys!

Going for the temporal repair for the first time. Just building my first liquid oxygen/hydrogen generators. As is typical, my game is down to like 5fps. I've got jetpack use limited to a single dupe, and loaded all my materials into single-material compactors, but it's still getting slow.

What are the latest tricks to reduce lag?

Link to comment
Share on other sites

Tile up all unused space. Clean all debris to one or two locations. Limit fases as much as possible (althpigh vacuum is countd as gas as well however it does not calculate pressure). Make single paths for dups. Pray for patience ;)

Link to comment
Share on other sites

just deconstruct jet suit, all that the friend above said also true. theres a way to dump all your debris into a " one spot " too using the automatic dispenser sweep only then you sweep everything to this 1 spot, i guess you need 2 or 3 tiles at the bottom and around this spot to avoid pressure dmg. if you dump very little water you can store things that offgass too, just dont store regolith or too hot materials. kill every plant and critter youre not farming.

 

Link to comment
Share on other sites

1 hour ago, ONIfreak said:

Tile up all unused space. Clean all debris to one or two locations. Limit fases as much as possible (althpigh vacuum is countd as gas as well however it does not calculate pressure). Make single paths for dups. Pray for patience ;)

Can you clarify "Tie up all unused space"? It sounds like a vacuum square is faster than an oxygen square, but are you saying a solid tile is faster still?

I've played with single-pathing dupes before, and found it to offer very little improvement. That was a few releases ago though. Has it improved?

24 minutes ago, ruhrohraggy said:

Change your auto-save to something other than 1 day. Not having it hang dramatically every single day has been so lovely.

Eh, I leave em with complex plans and go afk for hours at a time. Gotta have regular saving for that! Otherwise can't reload if a dupe dies in an accident!

Link to comment
Share on other sites

30 minutes ago, SamuraiJones said:

Can you clarify "Tie up all unused space"? It sounds like a vacuum square is faster than an oxygen square, but are you saying a solid tile is faster still?

I've played with single-pathing dupes before, and found it to offer very little improvement. That was a few releases ago though. Has it improved?

Eh, I leave em with complex plans and go afk for hours at a time. Gotta have regular saving for that! Otherwise can't reload if a dupe dies in an accident!

Gasses waste too much cpu power when mixed.
Don't know which is faster but clearly using tiles are easier.

Link to comment
Share on other sites

Use packet stackers everywhere, on the supply end of every single long pipe. Also, use demand detection on the receiving end of every consumer that's on a long supply pipe. (Demand detection is just the first half of a packet stacker)

Basically, even post optimization, the fluid flow & solution thread is the first one that's going to bottleneck your PC in most cases. Having fewer packets / only full packets flow through long pipes can cut that context's work to a fraction of what it'd be otherwise.

Can elaborate with illustrations in a couple hours.

Link to comment
Share on other sites

I was great for 13000 cycles, and now no tricks seem to affect anything. Tiled half the map, deleted my piping system (as a test), deleted debris, slaughtered critters and I only have three dupes. Very simple pathing and dupes are idle, yet fps slows down more and more until it's about 5 fps on a monster computer. Life is sadness.

As with someone in another thread, it seems tied to space travel in my case. It was fine until I started sending rockets but I might be deceived. [addendum] Yep, once I stop rockets and reload it's fine.

Link to comment
Share on other sites

Just now, nakomaru said:

I was great for 13000 cycles, and now no tricks seem to affect anything. Tiled half the map, deleted my piping system (as a test), deleted debris, slaughtered critters and I only have three dupes. Very simple pathing and dupes are idle, yet fps slows down more and more until it's about 5 fps on a monster computer. Life is sadness.

Similar here since full release, game is broken for me.

Link to comment
Share on other sites

18 minutes ago, avc15 said:

Use packet stackers everywhere, on the supply end of every single long pipe. Also, use demand detection on the receiving end of every consumer that's on a long supply pipe. (Demand detection is just the first half of a packet stacker)

Basically, even post optimization, the fluid flow & solution thread is the first one that's going to bottleneck your PC in most cases. Having fewer packets / only full packets flow through long pipes can cut that context's work to a fraction of what it'd be otherwise.

Can elaborate with illustrations in a couple hours.

Can you explain this a bit more? What is demand detection? How does all this help FPS?

Link to comment
Share on other sites

5 minutes ago, nakomaru said:

I was great for 13000 cycles, and now no tricks seem to affect anything. Tiled half the map, deleted my piping system (as a test), deleted debris, slaughtered critters and I only have three dupes. Very simple pathing and dupes are idle, yet fps slows down more and more until it's about 5 fps on a monster computer. Life is sadness.

As a suggestion, maybe we could open a single bug report (or choose an existing one) and pile there in the comments all the save files that lag, along with short system desc & FPS count? This could make it easier for developers than gather them from forums.

I have no old enough save files myself so far, not much time to play.

Link to comment
Share on other sites

2 hours ago, SamuraiJones said:

Can you clarify "Tie up all unused space"? It sounds like a vacuum square is faster than an oxygen square, but are you saying a solid tile is faster still?

I've played with single-pathing dupes before, and found it to offer very little improvement. That was a few releases ago though. Has it improved?

Eh, I leave em with complex plans and go afk for hours at a time. Gotta have regular saving for that! Otherwise can't reload if a dupe dies in an accident!

You have the option to set the time to every 2, 5, 10, 20, and 50 cycles respectively. considering even at cycle 300, with a samsung 840 evo SSD, my save times take 5-10 seconds, I remember past cycle 1000 the save times getting obnoxious.

I have it set to save every 5 cycles. If you're going afk for hours at a time, 5 cycles shouldn't be a big deal.

Link to comment
Share on other sites

10 minutes ago, caffeinated21 said:

Can you explain this a bit more? What is demand detection? How does all this help FPS?

I'm not sure I understand, but I've a guess as to what he's saying, so i'll put it below.

image.thumb.png.6ccd80a4069bb9445a1e96c784e5bded.png

Here's how I do my oxygen system. As you can see, I just shove oxygen in a duct and run it to a vent. When oxygen is high enough, the vent will block, and the packets will back up. I think he's saying that all those packets require processing every loop.

 

I think he's suggesting I put a gas shutoff at the start of this duct at my oxygen plant, then put an atmos sensor near this vent, and only open the shutoff when the pressure is low near the vent. Thus, the duct only has air packets in it when oxygen is being supplied, and the rest of the time it's empty -- fewer packets hanging out means less things to process each cycle.

 

I think he's also suggesting that I not transport gases unless i've enough to fill the pipe. So in the pic, the CO2 duct takes exhaust down to my slicksters. I think he's saying that a few big packets uses less processing time than lots of little ones, so I should put a shutoff at the top of that duct and only open it when it's backed up a bit, thus clumping my many little co2 packets into a few big ones, again reducing the total number of packets in ducts. Not sure what that'd look like in automation logic, but i'll play with it a bit.

 

I do have alot of ducts, pipes and conveyors, and most of them have stuff backed up in them most of the time. Perhaps that's my problem. Although i rebooted my computer (for the 3rd time today) and when i loaded it, it's significantly above 1fps! Way better than saving-reloading. So I guess I'll just plan to do that after the game's run for about an hour.

 

47 minutes ago, avc15 said:

Use packet stackers everywhere, on the supply end of every single long pipe. Also, use demand detection on the receiving end of every consumer that's on a long supply pipe. (Demand detection is just the first half of a packet stacker)

Basically, even post optimization, the fluid flow & solution thread is the first one that's going to bottleneck your PC in most cases. Having fewer packets / only full packets flow through long pipes can cut that context's work to a fraction of what it'd be otherwise.

Can elaborate with illustrations in a couple hours.

Please let me know if my guess in the above post is what you meant.

Link to comment
Share on other sites

2 hours ago, nakomaru said:

I was great for 13000 cycles, and now no tricks seem to affect anything. Tiled half the map, deleted my piping system (as a test), deleted debris, slaughtered critters and I only have three dupes. Very simple pathing and dupes are idle, yet fps slows down more and more until it's about 5 fps on a monster computer. Life is sadness.

As with someone in another thread, it seems tied to space travel in my case. It was fine until I started sending rockets but I might be deceived. [addendum] Yep, once I stop rockets and reload it's fine.

Oh no. I was experiencing something similar in the beta, where every time I launched a rocket the game would drop by 10-15 FPS and there would be this immense stuttering which made the game unplayable. Reloading seemed to fix the issue... until I launched a rocket again. 

Sounds to me like there's sufficient testimony to confirm a bug report; something to do with space and rockets. Klei REALLY needs to address this as I can't play the game if it's performing this poorly when I build rockets. 

Link to comment
Share on other sites

3 hours ago, caffeinated21 said:

Can you explain this a bit more? What is demand detection? How does all this help FPS?

First, illustrating the problem. I built in debug mode this very simple reed fiber farm with a very loooooooooooong supply pipe.

image.thumb.png.1c6f83630c500af33500d78a7bcf2322.png

image.thumb.png.e1be2f287d0a0f9fd30d322c80bd2e85.png

might seem silly but with high cycle bases there are air vents and pipe systems that will crisscross your entire asteroid, so, just an example.

Here is the behavior that is a problem, computationally:

image.thumb.png.bcb5b662455f3951fb823a8f59997d83.png

This very low flow rate across a loooooooooooong distance means that a couple of very large matrix computations have to happen each second. - - Each second, 1.25kg or so of pwater gets shifted from each pipe segment, to the next pipe segment. Each second, the leftover mass and the mass that shifted in from the right have to be temperature averaged. Each second, the flowing mass supports a temperature gradient - meaning you need a heat exchange calculation from the pipe to its contents in each pipe segment every second. Thousands of extra multiplications and divisions per game second for connecting this one pipe.

These are similar reasons why having less gas reduces CPU load too. Standing or flowing liquids & gases take more computation than solids. Solids don't flow, they just exchange heat.

Okay, now. There are a few ways to cut down on this extra load: empty out your pipes (only supply exactly what the consumer needs, in full packets) or keep the contents of your full pipe stationary until the consumer (reeds) demands more supply (pwater).

One: empty out your pipes

Throttle your supply but stack packets; and shut off supply entirely unless we sense demand.

Throttle valve into a packet stacker:

image.thumb.png.e4e176a1938c7fa572faab070334526d.png

image.thumb.png.9331e7d710db998db0a7e989005ea555.png

So this only sends 2000g/s down the line, and that water all goes down as a whole slug all at once instead of in little tiny packets. But still at an average rate of 2000g/s. Just stacked up. (I didn't design this.)

But still you will have to set that flow rate higher than your consumer. Unless you set the supply slightly too low. But most of us want to set the supply a bit too HIGH, or that farm will stifle (or your generators will run out of fuel, or whatever). So you'll still wind up with a very long full pipe unless you put in some kind of demand sensing.

Only open up the inlet valve if your consumer is demanding more pwater. Here's how you do that, it looks very similar:

image.thumb.png.d8d28babdfd01bbb8792f1a289979273.png

image.thumb.png.24cf24578c8273e9958a30760de9f250.png

This setup works best for systems that use less than a third of the pipe's capacity or so, ie, things that use less than around 3kg/sec. Approach two I was talking about above is for systems that use more than half the pipe's capacity, but I'm kind of out of space here. For systems that use more than half the pipe's capacity, you need to stand it on its head a bit. Let the pipe fill up but keep it blocked at a shutoff valve near the consumer. Only open the supply valve if your consumer needs more. You can use the demand sensor again. (but this approach has limitations, it's challenging to connect several consumers to the same pipe)

3 hours ago, nakomaru said:

I was great for 13000 cycles, and now no tricks seem to affect anything. Tiled half the map, deleted my piping system (as a test), deleted debris, slaughtered critters and I only have three dupes. Very simple pathing and dupes are idle, yet fps slows down more and more until it's about 5 fps on a monster computer. Life is sadness.

(edit: silliness, this person did talk about debris. Strange.)

Link to comment
Share on other sites

I did mention deleting debris. Generally, all of my materials are in either one modded storage bin, or one two of specialized piles for food production. So they are aggregated. I tested deleting it and the accumulated regolith to no effect. The problem is launching a rocket for me causes massive hitching until restart, and it accumulates.

Link to comment
Share on other sites

6 hours ago, SamuraiJones said:

Can you clarify "Tie up all unused space"? It sounds like a vacuum square is faster than an oxygen square, but are you saying a solid tile is faster still?

Yes, solid tiles are faster as there is not much calulation on them. I build tiles everywhere making just 3 tile up corridors ( leaving top tile for tubes). This should improve performance ( it is a lot if work though. Small tip - use material from current biome - so in swamp build sedimentary rock tiles, space - mafic, oil biome igneus rock etc - dups will be building it faster) 

Link to comment
Share on other sites

3 hours ago, ONIfreak said:

Yes, solid tiles are faster as there is not much calulation on them. I build tiles everywhere making just 3 tile up corridors ( leaving top tile for tubes). This should improve performance ( it is a lot if work though. Small tip - use material from current biome - so in swamp build sedimentary rock tiles, space - mafic, oil biome igneus rock etc - dups will be building it faster) 

Sry but when players have to fill map with tiles / sandbox neutro, then it should be in the game description.
Klei has to fix the game.
For an EA title it was "ok" but for a launched game, it's a no go.

Link to comment
Share on other sites

1 hour ago, Oozinator said:

Sry but when players have to fill map with tiles / sandbox neutro, then it should be in the game description.
Klei has to fix the game.
For an EA title it was "ok" but for a launched game, it's a no go.

True

Link to comment
Share on other sites

10 hours ago, nakomaru said:

I did mention deleting debris. Generally, all of my materials are in either one modded storage bin, or one two of specialized piles for food production. So they are aggregated. I tested deleting it and the accumulated regolith to no effect. The problem is launching a rocket for me causes massive hitching until restart, and it accumulates.

Another user may have found what is causing the hitching. It seems to be something to do with the way temperature is calculated and indeed, even the temperature overlay seems a lot laggier now than it was a few months ago. Oddly coincidental is that the devs may have implemented a new way of calculating temperature... a few months ago! This is why you see such a massive degradation in performance when you launch a rocket, since it's giving off so much steam/CO2/ whatever else, there is a lot of temperature variation at the base of the rocket silo. 

Link to comment
Share on other sites

Sad, they doesn't fix it before the official launch. After the launch I tested my old colony with 1800 cycles and what can I say? I have the same FPS like in the beta. Is that right? Have they maybe forgot to disable the developer logging or is the performance just bad? Sorry for my honesty. In the old updates I get around at least 20 FPS more in the released version than in the beta launch. It is disappointing.

The error with the rockets is still in there (Huge FPS drops after launching a rocket). Seems like the game need another months to be finished.

:hopelessness:

But! They have fixed the huge FPS drops to 20 FPS, if you reveal the whole map via the debug mode. That is great! Still 60 FPS if I reveal it. :eagerness:

Hope for the best.

 

Link to comment
Share on other sites

On 3.8.2019 at 10:23 AM, Oozinator said:

Sry but when players have to fill map with tiles / sandbox neutro, then it should be in the game description.
Klei has to fix the game.
For an EA title it was "ok" but for a launched game, it's a no go.

I think that is a bit unfair. I have played so many full release titles that were broken way earlier in so many ways. Here you have a beauty that comes to its limits when a skilled player spends 100+ hours in a base. Not really the definition of a broken game in my world.

That said, I hope Klei will continue to work on the late game issues. I never experienced a game breaking fps drop so far, but with my play on standard speed and have tons of dupes(50-100) approach I experience the AI lag, dupes not getting anything done because they just stand there waiting for computer time.

Link to comment
Share on other sites

FYI,

Filling out tiles doesn't seem to have any effect - I've spent a lot of time filling out tiles and havent seen it change

 

The mentions of it being related to temperature sounds accurate - I can reproduce the stutter lag by queuing up a few bars in the smelter

Restarting the game does clear the lag, until..

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