Jump to content
  • 0

Chanter Rime and Frost traps get saved, causing mobileobjects.save to grow out of control


Depili

Question

I think this deserves it's own post instead of being buried on page 5 of the savegame issue thread. My post there: http://forums.obsidian.net/topic/72764-quick-saving-and-loading-times-increased-greatly-after-20-hours/?p=1615960

 

So in short the Chanter "Rime and Frost" chant creates traps when it is triggered and thoise traps get saved into mobileobjects.save file causing it to grow out of control. This in turn causes saves to take way longer than they should. Oddly the chant creating fire traps doesn't seem to be affected with this bug.

 

Here are the statistics in a nutshell:

$ du -h MobileObjects.save
44M     MobileObjects.save
$ strings MobileObjects.save | grep Rime_and | wc -l
3232
$ strings MobileObjects.save | grep Root | wc -l
3308

That is 97% of all store objects!

 

Explanation for the commands: First one shows the size of the MobileObjects.save, secong extracts all strings (text fragments) from that binary file, selects all that match the "Rime_And" stringfragment and counts them, giving us the count of 3232 Rime and Frost traps stored, last one does the same for substring Root that seems the be the start of new saved object data, giving the total count of 3308 saved objects.

 

Workaround would be to avoid the rime and frost chant like plague, a fix would be to write a script to strip the saved traps from saves and to prevent new ones from getting saved at all.

 

Edit: Apparently my first grepping miss-counted the amount of Rime and Frost traps, as the string "Rime_and" appears twice per trap, so a better match is:

 

$ strings MobileObjects.save | grep "Rime_and_Frost_Trap.prefab" | wc -l
1614

Which leaves 50% of objects being traps. But the rime and frost trap definitions seem to be some of the longest objects.

Edited by Depili
  • Like 10
Link to comment
Share on other sites

Recommended Posts

  • 0

I used the script with rubyistaller on win7 and it pured my save of rime_and_frost nonsense. I decreased my loading times and I had no other problems whatsoever.

But that's only a part of the problem. My MobileObjets.save is still infected with mountain of remaining summoning spells, so I'd really appreciated if anyone knows what needs to be changed on to get rid of those as well.

I extensively used summon skeletons spell on the chanter, so there's just as many of those left in my file.

 

I assume that almost whole MobileObjects.save is filled by residue from Chater abilities or spells, making the class nearly useless if you want to avoid long load times and huge saves.

Link to comment
Share on other sites

  • 0

So, as of now it seems like I have completely messed up saving in PoE. Originally I edited my quicksave, which in retrospect may have been a bad idea.

 

You need to delete all files in

 

%UserProfile%\AppData\LocalLow\Obsidian Entertainment\Pillars of Eternity\CurrentGame

%UserProfile%\AppData\Local\Temp

 

And most likely all stored files in

%USERPROFILE%\Saved Games\Pillars of Eternity (Except the save you want, but if the game has the same problem all over again, your save edit failed and the save is junk) So delete it, and quicksave out of an older save again.

 

If you still have saving problems, then I don't know :)

Link to comment
Share on other sites

  • 0

 

So, as of now it seems like I have completely messed up saving in PoE. Originally I edited my quicksave, which in retrospect may have been a bad idea.

 

You need to delete all files in

 

%UserProfile%\AppData\LocalLow\Obsidian Entertainment\Pillars of Eternity\CurrentGame

%UserProfile%\AppData\Local\Temp

 

And most likely all stored files in

%USERPROFILE%\Saved Games\Pillars of Eternity (Except the save you want, but if the game has the same problem all over again, your save edit failed and the save is junk) So delete it, and quicksave out of an older save again.

 

If you still have saving problems, then I don't know :)

 

Not ALL data in Local\Temp ;)

You should probably fix this before somebody actually does that.

Link to comment
Share on other sites

  • 0

https://gist.github.com/depili/d2ddadebff00f3f8c4df This link includes the unique strings from the MobileObjects.save after cleaning the traps out. There are still some things that seem suspicious, like:

3 %cre_skeleton_chanter_summon(clone)_26
3 %cre_skeleton_chanter_summon(clone)_20
3 %cre_skeleton_chanter_summon(clone)_14
I haven't used the summon skeletons ability more than a few times, so it might be a additional problem, and would explain why some people are experiencing problems with summoned units. As they disappear (or are at least supposed to) after combat this is another thing that shouldn't get saved...
 
Weird thing is that unlike other cloned objects they use the string (clone) instead of (Clone).
Edited by Depili
Link to comment
Share on other sites

  • 0

I used the script with rubyistaller on win7 and it pured my save of rime_and_frost nonsense. I decreased my loading times and I had no other problems whatsoever.

 

But that's only a part of the problem. My MobileObjets.save is still infected with mountain of remaining summoning spells, so I'd really appreciated if anyone knows what needs to be changed on to get rid of those as well.

 

I extensively used summon skeletons spell on the chanter, so there's just as many of those left in my file.

 

I assume that almost whole MobileObjects.save is filled by residue from Chater abilities or spells, making the class nearly useless if you want to avoid long load times and huge saves.

Oh, just saw your reply after doing additional investigation. Could probably get rid of the summons with similar script, just need to alter the filter (or just plop both in at the same time, will look at it later)

Link to comment
Share on other sites

  • 0

 

Not ALL data in Local\Temp ;)

You should probably fix this before somebody actually does that.

 

I can't actually edit my post ^^ ... but you can't delete anything in there that Windows doesn't want deleted and wiping temp folders is always nice and useful. At the very least saves you space.

 

But yes, obviously only delete the Obsidian Folder :)

Link to comment
Share on other sites

  • 0

 

I used the script with rubyistaller on win7 and it pured my save of rime_and_frost nonsense. I decreased my loading times and I had no other problems whatsoever.

 

But that's only a part of the problem. My MobileObjets.save is still infected with mountain of remaining summoning spells, so I'd really appreciated if anyone knows what needs to be changed on to get rid of those as well.

 

I extensively used summon skeletons spell on the chanter, so there's just as many of those left in my file.

 

I assume that almost whole MobileObjects.save is filled by residue from Chater abilities or spells, making the class nearly useless if you want to avoid long load times and huge saves.

Oh, just saw your reply after doing additional investigation. Could probably get rid of the summons with similar script, just need to alter the filter (or just plop both in at the same time, will look at it later)

 

 

I'd appreciate it a lot.

 

If it's any help. It appears that all summons stay in that file. Offcourse, in my case that skeleton summon is by far the most used, since npc Chanter starts with it, and it is a useful spell, but I also noticed residue from summoning figurine.

Link to comment
Share on other sites

  • 0

Maybe i'm just stupid, but how do you actually use this script? Could ya please help out a fella over here, much appreciated.

 

Edit: Nevermind, made it work. the file went down to 2.5 MB, saving/loading IS faster, like half the time needed, but still not what it was at the start of my playthrough. At least it's playable now, thanks for fix dude, you're awesome.

Edited by lordcaedus94
Link to comment
Share on other sites

  • 0

 

 

I used the script with rubyistaller on win7 and it pured my save of rime_and_frost nonsense. I decreased my loading times and I had no other problems whatsoever.

 

But that's only a part of the problem. My MobileObjets.save is still infected with mountain of remaining summoning spells, so I'd really appreciated if anyone knows what needs to be changed on to get rid of those as well.

 

I extensively used summon skeletons spell on the chanter, so there's just as many of those left in my file.

 

I assume that almost whole MobileObjects.save is filled by residue from Chater abilities or spells, making the class nearly useless if you want to avoid long load times and huge saves.

Oh, just saw your reply after doing additional investigation. Could probably get rid of the summons with similar script, just need to alter the filter (or just plop both in at the same time, will look at it later)

 

 

I'd appreciate it a lot.

 

If it's any help. It appears that all summons stay in that file. Offcourse, in my case that skeleton summon is by far the most used, since npc Chanter starts with it, and it is a useful spell, but I also noticed residue from summoning figurine.

 

 

A improved script is at https://gist.github.com/depili/9f1591b18923e4639204 It's much faster and should clean up all chanter summons also. I have done minimal testing with it (cleaned one save, tested that it seems to load properly) so use at your own risk :)

 

The chanter summons are matched with string "_chanter_summon", so it should also detect possible other chanter summon residue.

 

For figurine summon residue I would need something to match them with.

Edited by Depili
Link to comment
Share on other sites

  • 0

Actually, dug around the resources a bit and seems that the summoned creatures all should match "_Summon.prefab" string, so I modified the improved cleaner ( https://gist.github.com/depili/9f1591b18923e4639204 ) and now it should get rid of all figurine summon residue also, but no promises as always.

Man you a great guy, thanks a lot! But not every one nowing coding. Please tell what exactly i need to do?

I downloaded script ruby "savefile_cleaner.rb" i installed ruby for windows, i found file mobileobject.save and now what? I dont now how to make it work ((((

Link to comment
Share on other sites

  • 0

 

Actually, dug around the resources a bit and seems that the summoned creatures all should match "_Summon.prefab" string, so I modified the improved cleaner ( https://gist.github.com/depili/9f1591b18923e4639204 ) and now it should get rid of all figurine summon residue also, but no promises as always.

Man you a great guy, thanks a lot! But not every one nowing coding. Please tell what exactly i need to do?

I downloaded script ruby "savefile_cleaner.rb" i installed ruby for windows, i found file mobileobject.save and now what? I dont now how to make it work ((((

 

http://editrocket.com/articles/ruby_windows.html should help

 

You need to give the script the file to clean as a parameter, so it should be something like "C:\Ruby\bin\ruby.exe savefile_cleaner.rb MobileObjects.save" and it should produce a file "MobileObjects.save.cleaned that you need to replace the original file inside your savegame. I haven't tested anything with the windows ruby, but in theory everything should work also on windows...

Link to comment
Share on other sites

  • 0

 

 

Actually, dug around the resources a bit and seems that the summoned creatures all should match "_Summon.prefab" string, so I modified the improved cleaner ( https://gist.github.com/depili/9f1591b18923e4639204 ) and now it should get rid of all figurine summon residue also, but no promises as always.

Man you a great guy, thanks a lot! But not every one nowing coding. Please tell what exactly i need to do?

I downloaded script ruby "savefile_cleaner.rb" i installed ruby for windows, i found file mobileobject.save and now what? I dont now how to make it work ((((

 

http://editrocket.com/articles/ruby_windows.html should help

 

You need to give the script the file to clean as a parameter, so it should be something like "C:\Ruby\bin\ruby.exe savefile_cleaner.rb MobileObjects.save" and it should produce a file "MobileObjects.save.cleaned that you need to replace the original file inside your savegame. I haven't tested anything with the windows ruby, but in theory everything should work also on windows...

 

I need to do this in CMD window or window ruby.exe ? Thank you very mach!!!!!

Link to comment
Share on other sites

  • 0

So, this will be fixed in the patch coming out (should be this week). Player traps that have been destroyed will no longer save their destroyed state in the save data. Also, we wrote a cleanup function that will remove any destroyed player traps from your save game when you first load it so you won't need to run any external save file cleaner.

 

On our test, Depili's MobileObjects file went from 44MB to 4.5MB so it should reduce a lot of the bloat you are getting from player traps.

 

There won't be any other save file reduction going into this patch but we'll keep investigating anything that looks like it shouldn't be there. If anyone notices anything that seems odd, let us know and we can look to get that cleaned out in the following patch.

At least some summoned units are also leaking into the saved files.

 

My save also contains about 86 Xaurip spears, even when I don't have any in my stash.

Link to comment
Share on other sites

  • 0

So, this will be fixed in the patch coming out (should be this week). Player traps that have been destroyed will no longer save their destroyed state in the save data. Also, we wrote a cleanup function that will remove any destroyed player traps from your save game when you first load it so you won't need to run any external save file cleaner.

 

On our test, Depili's MobileObjects file went from 44MB to 4.5MB so it should reduce a lot of the bloat you are getting from player traps.

 

There won't be any other save file reduction going into this patch but we'll keep investigating anything that looks like it shouldn't be there. If anyone notices anything that seems odd, let us know and we can look to get that cleaned out in the following patch.

 

Does "Every area visited increases load times of areas visited afterwards" count as "something that shouldn't be there" ? ;) My load times without autosave are 15 seconds now, for every, single, area. Tiny hut, giant city, doesn't matter.

 

Also it seems that the game stores infinitely what you sold to stores. So if you like me, sold over 1000 things, you have a 6.4mb bloated file that the cleaner can't clean. And all this stuff further slows down loading too.

 

Ps.: I have 52 xaurip spears in my mobileobjects.save and exactly ZERO in stash and inventory. So it really seems to be that items sold to stores bloat this file up even more. Stores should thus wipe their inventory every 24hrs ?

Edited by eRe4s3r
Link to comment
Share on other sites

  • 0

 

So, as of now it seems like I have completely messed up saving in PoE. Originally I edited my quicksave, which in retrospect may have been a bad idea.

 

You need to delete all files in

 

%UserProfile%\AppData\LocalLow\Obsidian Entertainment\Pillars of Eternity\CurrentGame

%UserProfile%\AppData\Local\Temp

 

And most likely all stored files in

%USERPROFILE%\Saved Games\Pillars of Eternity (Except the save you want, but if the game has the same problem all over again, your save edit failed and the save is junk) So delete it, and quicksave out of an older save again.

 

If you still have saving problems, then I don't know :)

 

I'll try the third, I deleted the temp folders but did not delete all the other saves.

 

I'll try that, thanks!

Link to comment
Share on other sites

  • 0

 

 

 

Actually, dug around the resources a bit and seems that the summoned creatures all should match "_Summon.prefab" string, so I modified the improved cleaner ( https://gist.github.com/depili/9f1591b18923e4639204 ) and now it should get rid of all figurine summon residue also, but no promises as always.

Man you a great guy, thanks a lot! But not every one nowing coding. Please tell what exactly i need to do?

I downloaded script ruby "savefile_cleaner.rb" i installed ruby for windows, i found file mobileobject.save and now what? I dont now how to make it work ((((

 

http://editrocket.com/articles/ruby_windows.html should help

 

You need to give the script the file to clean as a parameter, so it should be something like "C:\Ruby\bin\ruby.exe savefile_cleaner.rb MobileObjects.save" and it should produce a file "MobileObjects.save.cleaned that you need to replace the original file inside your savegame. I haven't tested anything with the windows ruby, but in theory everything should work also on windows...

 

I need to do this in CMD window or window ruby.exe ? Thank you very mach!!!!!

 

 

For windows:

 

1. Install RubyInstaller and  tick associate .rt files with Ruby

2. Download latest script .rt file

3. Extract MobileObjects.save from save in ",,,\Saved Games\Pillars of Eternity\"

4. Have MobileObjects.save and safefile_cleaner.rt in same directory

5. Run cmd from that directory and enter "savefile_cleaner MobileObjects.save"

6. You'll get 'MobileObjects.save.cleaned'

7. Rename it to MobileObjects.save and replace it in the save that you took it from.

 

That's it. Obviously do that at your own risk, and make backups. Besides that, if devs went from 44MB to 4.5MB, that could mean huge optimization, so you can wait for official patch. I went from 18mb to 4mb with Depili's first patch, and down further one mb with the last one, so you can assume there's still stuff left in that file.

Edited by dododad
Link to comment
Share on other sites

  • 0

 

 

So, as of now it seems like I have completely messed up saving in PoE. Originally I edited my quicksave, which in retrospect may have been a bad idea.

 

You need to delete all files in

 

%UserProfile%\AppData\LocalLow\Obsidian Entertainment\Pillars of Eternity\CurrentGame

%UserProfile%\AppData\Local\Temp

 

And most likely all stored files in

%USERPROFILE%\Saved Games\Pillars of Eternity (Except the save you want, but if the game has the same problem all over again, your save edit failed and the save is junk) So delete it, and quicksave out of an older save again.

 

If you still have saving problems, then I don't know :)

 

I'll try the third, I deleted the temp folders but did not delete all the other saves.

 

I'll try that, thanks!

 

 

Just be sure that you that you don't delete saves you actually wanted to keep, better to move them elsewhere just to be sure.

Link to comment
Share on other sites

  • 0

 

 

 

So, as of now it seems like I have completely messed up saving in PoE. Originally I edited my quicksave, which in retrospect may have been a bad idea.

 

You need to delete all files in

 

%UserProfile%\AppData\LocalLow\Obsidian Entertainment\Pillars of Eternity\CurrentGame

%UserProfile%\AppData\Local\Temp

 

And most likely all stored files in

%USERPROFILE%\Saved Games\Pillars of Eternity (Except the save you want, but if the game has the same problem all over again, your save edit failed and the save is junk) So delete it, and quicksave out of an older save again.

 

If you still have saving problems, then I don't know :)

 

I'll try the third, I deleted the temp folders but did not delete all the other saves.

 

I'll try that, thanks!

 

 

Just be sure that you that you don't delete saves you actually wanted to keep, better to move them elsewhere just to be sure.

 

Yeah, I created backups of all of them.

 

I had already reinstalled the game, but didn't try it after doing that. I did remove everything from the save folder (and the temp folders) except the single, edited/cleaned quicksave that I wanted to keep.

 

Loading it worked fine, so I made a manual save and quit to menu and loaded it and it worked, entered into a house to create an autosave and did the same thing and it worked.

 

Seems fixed for me now, it's odd that just having other save games (all of which are from other actual playthroughs with different characters) screws it up that much.

 

Thanks for the help though.

Link to comment
Share on other sites

  • 0

well color me impressed. i was missing the information where you can open those .savegame filies like rar files.

 

MY IMMORTAL DRAKES ARE GONE! they desummon now as well when fight is over. made for a more exciting end boss fight :)

 

in combination with the no save on zoning mod my load times are down to 6 seconds.[from 12 seconds with just the mod enabled]

Edited by at0mic
Link to comment
Share on other sites

  • 0

 

That's it. Obviously do that at your own risk, and make backups. Besides that, if devs went from 44MB to 4.5MB, that could mean huge optimization, so you can wait for official patch. I went from 18mb to 4mb with Depili's first patch, and down further one mb with the last one, so you can assume there's still stuff left in that file.

My save had about 1600 Rime and Frost traps and each trap took around 26kb of space in the MobileObjects.save, thus it was around 40Mb of traps. I haven't looked up on how much space one summoned skeleton-group takes, but the second script also removing them is what got rid of the last 1Mb of junk in your case.

Link to comment
Share on other sites

  • 0

Interesting sideaffect of cleaning my save file for anyone who's having/had or will have this problem.

 

For a good portion of the game I've suffered from pink textures and a blury/unreadable map. It didn't bother me too much when it started because if I put my cursor on something on the map it would clear up for that brief moment and i could see fine.

 

After cleaning my save I've noticed that both the pink textures and the blury map have cleared up, so this fix has resolved not one, but three issues i was having and with the new patch i expect it will resolve this issue for some other poor souls also.

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
×
×
  • Create New...