Jump to content

[Game Update] - 405850


Recommended Posts

  • Developer

Hey everyone!

We've put in some fairly significant memory optimizations for saving a colony. If you have a large/late-game colony, please load it up on the test branch and give it a save and let us know if this did or didn't improve memory usage for you!

And while you're there, there have been some other optimizations to the save game which may have caused subtle bugs. Please save and load your game and have a check around to see if anything is amiss, such as settings being lost, things in a different state than you'd expect, or contraptions that broke down. This would be a huge help to us! Thank you!

(For instructions to join the testing branch, please see the previous post)

  • Reduce memory usage during save:
    • State Machines don't allocate extra memory
    • Compress save data directly into the filestream instead of using a separate buffer
    • Move our serialization of the Sim directly into our primary buffer
    • Estimate our deserialization buffer capacity based on last load or save
  • Save ~1% frame time when setting animation symbol overrides
  • Wheezewort description updated
  • Sweepy Recharge description updated
  • Fixed blank status item for Sweepy moving to charging station
  • Make "Infinity" and "-Infinity" translatable. 
  • Counter Sensor description updated to make it more clear that it resets on the next signal after reaching max count. 
  • Add localized string for "Reported Error" confirmation dialog
  • Edited color blindness strings
  • Add closing color tag to privacy policy description
  • Ore chunks show their element description if necessary in Sweepy/receptacle side screens. Player visible debug message removed.
  • Revised description of the Feedback window
  • Fix sandbox backup save file path on non-Windows machines
  • If world generation fails it displays an error message instead of continuing to selecting starting Duplicants
  • World generation will no longer retry with a new seed if a seed fails. This means that errors in worldgen will cause failures instead of silently changing the seed in the background.
  • Fixed world generation failing on some seeds resulting in a world filled with Abyssalite. This was reported primarily on Volcanea Asteroids but it could happen on any asteroid type with world traits.
    • Note: due to the combination of the above two fixes, a small number of seeds have been changed where previously that seed would fail on the first try and then succeed. This will not affect the vast majority of seeds.
  • Potentially fix broken "Browse Log Files" link for Linux
  • Fix color for red duration tooltip on Timer details screen
  • Hover tooltips properly use selected color mode for logic description strings

View full update

  • Like 10
  • Thanks 7
Link to comment
Share on other sites

Thanks a lot!

I am so glad you are paying attention to memory usage, it made me upgrade my build once and it probably will again, not just the game but my whole system goes to a crawl when i reach 97% usage in a long playing session.

 

  • Like 1
Link to comment
Share on other sites

In STRINGS.BUILDINGS.PREFABS.LOGICCOUNTER.EFFECT:

Quote

When the chosen number is reached it sends a <b><style="logic_on">Green
Signal</style></b> until it receives another <b><style="logic_on">Green
Signal</style></b>, when it resets automatically and begins counting again.

shouldn't that be "then it resets automatically..." ?

  • Like 1
Link to comment
Share on other sites

1 hour ago, Ipsquiggle said:

Hey everyone!

If you have a large/late-game colony, please load it up on the test branch and give it a save and let us know if this did or didn't improve memory usage for you!

 

I've tried with this save :

saves.thumb.png.1806d2730e07dacb50669431ed36efd7.png

And unfortunately, I notice no improvements during the "new cycle saving" and the manually save.

cp1.png.8bc5a913332fb21cac0f44c2e80765b0.pngcp2.png.c7880696b61fc40712cbd622aebd44de.png

Before / during the save performances :

i7 3770

GTX970

16 Go Ram

SSD

Éden Phlegmatique.sav

  • Like 1
  • Sad 1
Link to comment
Share on other sites

11 hours ago, Ipsquiggle said:

If you have a large/late-game colony, please load it up on the test branch and give it a save and let us know if this did or didn't improve memory usage for you!

3168 cycles / 21 duplicants / 2 hydrogen rockets (no mods)

Baseline:

  • CPU: 0.78 GHz
  • Memory: 4.1 GB

Running AP-399948:

  • CPU: 3.21 GHz
  • Memory: 10.2 GB
  • Save file 26.03 MB

Running AP-405850:

  • CPU: 3.20 GHz
  • Memory: 11.3 GB - an increase of 1.1 GB
  • Save file:  26.04 MB

My memory usage increased.

Serene Oblivion.sav

Also, could we get a fix for this genetic ooze temperature reset bug soon? You guys fixed the sweepy temperature reset bug.

 

  • Like 1
Link to comment
Share on other sites

Memory:

If you are asking for the memory footprints directly after loading/saving, here is what I see with directly saving after load, not even unpausing:

1. Stable:   load 5.9G     save: 7.5G     time to save: 18.2s

2. 405850: load 5.7G    save 6.6G      time to save: 17.2s

Time is hand-stopped, memory by looking at task-manager, only measured once, hence not too precise. Still different enough to be a definite improvement. Cycle around 7000, 16 Dupes, Ryzen 3700X.

Errors:

On a brief look, no obvious defects or state-changes except for one: A Regolith auto-sweeper seems to drop a piece of hot Regolith, leading to it overheating pretty fast. It is not supposed to do that and has never done it before. This is while loading a save from the previous test version. You can actually see the Regolith hovering there before you un-pause. It is next to the ladder to the space-cover. Save is attached.

s067.sav

Edited by Gurgel
Link to comment
Share on other sites

  • Developer

To set expectations, memory usage is still going to go up after a save, the hope is that it goes up by less than it did previously. There will also be some significant variance here when measuring using the operating system, due to the nature of garbage collection.

However, I would still expect there to be noticeable differences, so I'll take a look at the colonies that aren't seeing anything.

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

@fatheroctopus the evident solution is to help us for make a cleaner savegame game like: data disk usage and disposal, abbysalite easier usage and disposal, mafic rock usage and disposal, diamond usage and disposal. My current savegame has around 1240 cycle. By 1300 i will finish it (finish my own challenge). I will send to you the savegame whit all my conclusion and whit proofs. You still have one unbalanced game, and lots and lots of unused tools used only for statistics who colect garbage and slow the game. We don't have the posibility to remove some unwanted tools like raport generation, action counter for challenges who slow the game, and disposal of unwanted garbage resources, or artifacts...and the story goes on, and on, and on. It will be separate topic whit all the things who slow the game.

Edited by tzionut
Link to comment
Share on other sites

2 hours ago, fatheroctopus said:

To set expectations, memory usage is still going to go up after a save, the hope is that it goes up by less than it did previously.

WHY?!  Even if you have to allocate some memory to do the save, it should be freed once the save is finished.

 

  • Haha 1
Link to comment
Share on other sites

8 hours ago, psusi said:

WHY?!  Even if you have to allocate some memory to do the save, it should be freed once the save is finished.

 

I have not participated in a test build in a while (stupid real life job), but isn’t all the debug code and collection “stuff” still a thing? I recall players always talking about their FPS decreasing on the test build, maybe the memory is affected the same way?

Link to comment
Share on other sites

While optimizing saves could you throw in the bunker door open/close % if you have not already?  I hear that if you load a save that was mid-door animation it will lose that progress which would be the cause of random space failures.

Link to comment
Share on other sites

10 hours ago, psusi said:

WHY?!  Even if you have to allocate some memory to do the save, it should be freed once the save is finished.

The pleasures of using a language with garbage collection. It severely limits or eliminates your ability to manage memory yourself.

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
  • Create New...