Merge lp:~widelands-dev/widelands/bug-1678987-save-handler into lp:widelands
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 8755 | ||||
Proposed branch: | lp:~widelands-dev/widelands/bug-1678987-save-handler | ||||
Merge into: | lp:widelands | ||||
Diff against target: |
284 lines (+89/-45) 4 files modified
src/game_io/game_player_info_packet.cc (+2/-2) src/logic/player.cc (+78/-34) src/logic/player.h (+1/-1) src/logic/save_handler.cc (+8/-8) |
||||
To merge this branch: | bzr merge lp:~widelands-dev/widelands/bug-1678987-save-handler | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Klaus Halfmann | Needs Information | ||
Review via email: mp+349096@code.launchpad.net |
Commit message
Fix performance problems with long savegames
- The savehandler now calculates the next interval after a save has finished.
This fixes endless autosave cycles when a save takes longer than the
interval.
- When saving the Player Info Packet, only save ware statistics that the
player's tribe owns
- Save ware statistics as strings to reduce the number of hard drive write
operations by an order of magnitude for long games
Description of the change
The savehandler now calculates the next interval after a save has finished. This fixes endless autosave cycles when a save takes longer than the interval.
Also, when saving the Player Info Packet, only save ware statistics that the player's tribe owns.
Writing the Player Info Packet is still very slow in the savegame attached to this branch, I want to do some further improvements before we merge this.
DO NOT MERGE TRUNK into this branch yet, as it will make the sample savegame incompatible.
Continuous integration builds have changed state:
Travis build 3647. State: passed. Details: https:/ /travis- ci.org/ widelands/ widelands/ builds/ 401473258. /ci.appveyor. com/project/ widelands- dev/widelands/ build/_ widelands_ dev_widelands_ bug_1678987_ save_handler- 3446.
Appveyor build 3446. State: success. Details: https:/