Lots of changes:
- Fixed a major memory leak
- Added a new dynamic-loading mechanism for units to save further memory
- Fixed a CTD that arose in rare cases on culture recalculation (Volkara's crash)
- Fixed a miscalculation in the AI's unit upgrade budgeting
- Reworked internal processing of realistic culture spread to be more efficient
Anyway, as an update to what I had to say yesterday in the bugs thread, here's a summary of this:
Good news - the new dynamic units settings more or less solved the Talin memory growth issue in testing
Even better news - in the course of final soak testing and clean up, prior to pushing it to SVN, I actually discovered the cause of the leak itself (at least much of it),
and was able to fix it even without the use of the new dynamic unit entity loading!
Not so good news - in-depth soak testing revealed that I still have a rare (like every 10 turns or so on a save with circa 10000 units) bug in my new code that causes a crash. I still haven't pinned this down, but it only happens if using the new dynamic unit entity loading, and I'll keep looking so should have a fix at some point
The take-away however, is that this new version should largely address the problems, with just the default settings. If you need even more memory saving you can enable the dynamic entity system, but be aware it is known to have a lurking bug currently, so right now that is NOT recommended.
This push also includes a fix for Volkarya's crash, as reported in the bugs and crashes thread last week.
Please let me know how you get on with this, especially those with memory issues, and Volkarya.