Page 1 of 1

Moving the Date slider in Grand Strategy freezes game

PostPosted: 20 May 2016, 00:57
by Wuzzy
I noticed something in Wyrmsun 2.2.1:

If you go to the Grand Strategy game preparation screen and just move the Date slider, Wyrmsun suddenly freezes for a while. It does not totally freeze, after a while it “unfreezes” again. Still, the delay is very long, like a freeze. So it should be fixed (unless it is already fixed).

Re: Moving the Date slider in Grand Strategy freezes game

PostPosted: 20 May 2016, 15:56
by Andrettin
Wuzzy {l Wrote}:I noticed something in Wyrmsun 2.2.1:

If you go to the Grand Strategy game preparation screen and just move the Date slider, Wyrmsun suddenly freezes for a while. It does not totally freeze, after a while it “unfreezes” again. Still, the delay is very long, like a freeze. So it should be fixed (unless it is already fixed).


I've significantly improved the performance of that in the current version, but there's still a delay. This happens because the game needs to initialize the provinces and load the correct owner for the date, to generate the faction list for the chosen date (since only factions which own provinces should show up in it). The delay only happens when letting the slider go, though (so you can move it around freely).

Re: Moving the Date slider in Grand Strategy freezes game

PostPosted: 20 May 2016, 17:14
by Wuzzy
It is not a good idea to make any “freezable” operatings while the user is still in the main GUI.
If you say the delay is still there, I don't consider it fixed, sorry. Now the delay time depends on the system, so
I am not sure if we can take it for granted that the delay is always “just short”. Or is it? (Sorry, I don't know.)

The delay only happens when letting the slider go, though (so you can move it around freely).

This is a very poor excuse. The average user has a reasonable expectation that the GUI does not freeze when moving a slider.
Why should someone expect this? The user expect that loading/init stuff happens after confirming.

I can kinda understand why you want to initialize stuff immediately after changing something. Probably to save the load time later?
The bad thing about is that the load time is still there, you just moved it somewhere else.
Does Wyrmsun make use of multi-threading? Doing the loading stuff in an background thread will allow you to load stuff while
still having a responsive GUI.

Otherwise, I would go the hard way of moving everything which needs to be loaded into the load screen instead. Better than to have a GUI which freezes.