169 - Not lock up the game for a long time while it searches
Which version of Overachiever are you using?
0.64
Can the feature be improved to not lock up the game for a long time while it searches? The code can be threaded to scan and collect data in segments which will meanwhile free up the game. The code would not be all in one function scanning everything from start to finish. To help, code in OnUpdate() can iterate function Overachiever.SearchForAchievement().AchSearch().beginSearch() with a chunk of the database every 100 milliseconds or something, so the game can still respond while it searches.
Some searches take a very long time which is understandable, but locking up the game the whole time is troublesome. Something important can always come up during gameplay to do urgently and being able to respond to the game or cancel searching is more user-friendly. The search is already very long and a one second or two longer delay to implement this fix would not be noticed when the game appears available.
As usual,
- Closing the window cancels the search obviously.
- Changing to another tab cancels the search.
- Changing values in the editboxes cancels the search. Clicking search again restarts search.
- The window can show a message like "Searching ..." or whatever while waiting and later display the final results.
- The player can meanwhile still get popup messages or respond to something important that came up in the game.
| User | When | Change |
|---|---|---|
| jtbalogh | Nov 11, 2011 at 19:42 UTC | Create |