Oberlus wrote:
Machine:
- Windows 10.
- i5 2500K 3.4 GHz, 16 GB RAM.
- FO 0.4.6 (freshly installed a few days ago).
That's higher spec than either my Linux desktop or my Windows laptop so you should be able to play without many issues if nothing's going wrong.
Game set up:
- Spiral 4-arm
- 200 systems.
- Starlane freq.: High
- Planet density: High
- Monsters: Low
- 7 IAs (aggressive).
No problem with any of this: I am finding the AI performs a LOT better on High planets and it will mean that there are more populated planets: each population centre generates an effects processing loop, each of these loops can take some processing time at certain points.
Having said all this, there has been a lot of refactoring on the backend over the last 6 months and we are working on the final stages of Release 0.4.7, so direct comparisons are going to be hard: I understand completely the desire to get the hang of the game with the most recent Stable version but I do strongly recommend when you start your next game installing the most recent Test version or, if it's available, RC1 for 0.4.7, because I'm fairly sure some of your problems have been solved.
Experience:
I began that game yesterday and I devoted a quite a time to reach turn 200 (still reading the different techniques/buildings/hulls/etc. and figuring out best strategies), when I noticed the relatively long times of unresponsiveness for turn changes, around 10-15 seconds (not a problem indeed). At turn 250 it was taking more than 60 seconds, plus some lag (seconds wide) began to happen in the IU (between turn-changes), at actions like clicking on a different system in the map or opening the production queue.
This ties in a bit with my experience: if lag gets bad, saving, exiting and reloading can speed things up
sometimes, the difference has reduced over time (which suggests some of the root problems have been squashed) but it is still there. I rarely play through several hundred turns in one go so the build of of leakage will be less obvious. Plus, for fairly obvious reasons, replicating an issue that requires you play several hundred turns in one go is harder
Other applications (browser, libreoffice) didn't show any unresponsiveness even when alt-tabbing to them while FO was calculating next turn.
At turn 269 it was already late so I saved, waited to the save window to close and exited (resign + quit) the game.
This morning the game I saved was corrupted (it was in the folder but FO won't show it in the load or save windows). No problem since auto-save had a copy of the previous turn for me. Loaded and noticed that the time to change turns is now under 5 seconds (while yesterday it was 70-80 seconds at the time of saving). Right now I'm on turn 290 and it is still under 10 seconds.
Yeah, the savegame corruption thing was annoying, and close to exactly the solution you propose has now been implemented: it took awhile for us to work out what was happening as the time-to-save increases with size of game and when testing a feature you tend to see if it's working with a newish game, but as far as I can tell it's now resolved.
Thoughts:
It seems to me that lag increases over time way faster than the number of colonized planets, number of fleets, frequency of combats, etc.
That and the fact that exiting FO and reloading game back makes it quite smooth again makes me think that there is something odd and wrong, maybe in FO's memory management, and more specifically its data structures. I should have checked memory usage but it didn't seem to be the problem (raw RAM comsuption). I presume it has to do with temporal structures (indexes and the such) that get cluttered over time and cause very slow read operations.
This would make sense, although the backend is beyond me, there's definitely some sort of leakage and it has got less bad over the most recent cycle, it's not noticeably a memory specific issue as, like you say, RAM doesn't spike (unlike eg Firefox which still has issues on Linux after 15 years)
Also, I noticed the AI hardly groups ships into fleets. Most of the time each AI under my radars keeps the bulk of its army in a planet in a myriad of fleets composed of 1-3 ships each. If AI makes calculations for each of its fleets (instead of for each ship regardless of grouping), then I wonder if it would reduce lag to induce AI to merge fleets in same system with same aims or no aim.
It probably won't make a massive difference, for a start the AIs each run as a separate process and also you'd still want to decide if a fleet needs/wants splitting. Each ship does create an effectsloop, same as each planet, we've tried to reduce the strain this creates in this cycle by refactoring when effects are triggered but it's an ongoing process. Plus, there has been a massive AI refactoring, especially in fleet management, so some of the issue will have been reduced.
Off-topic (you probably know this already, so I won't open a new thread for this):
Regarding AI performance in terms of skills, it is rather good at start, at least in forcing me go combatant earlier than desired, but its struggling is hopeless once I get plasma and ship shields. By then my PP is half of them but my RP are nearly 4x theirs. Then AI becomes stupid (it sends several fleets of troop ships, spanning 5-10 turns,
The troop ship attack has been massively reduced this cycle, and AI stupidity also less obvious, it was incredibly annoying at times when you'd see suicidal troop fleets leading attacks, but I've not really noticed them recently.
Seriously, give the most recent Test a go, not just for the Fighters (which you can ignore if you want), but the AI improvements this cycle have been brilliant: I've lost a couple games recently, mostly my own fault but even so...