When can we talk about spring's loading problems (On Windows)?

When can we talk about spring's loading problems (On Windows)?

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

When can we talk about spring's loading problems (On Windows)?

Post by Forboding Angel »

I've brought this up before, but I always get piled on with a ton of ... fanboi-ism?

Isn't it time that we admit that spring offline loading has issues and something needs to be done?

The issue, as I see it is as follows:

1. Spring server requires games to be in github root on master branch because rapid
2. Gamedevs need to use git repo as .ssd
3. Spring does it's "loading thing" on .git. .git gets altered, spring does loading thing again.

Rinse repeat.

It seems to me that the easy solution is to make spring ignore .git folders. I'm guessing that on linux none of this is an issue. Perhaps due to the differences in how the linux filesystem works. Just spitballing, I have no idea. But this is an issue. There are times where I am spending 5 or 10 minutes waiting on spring to unfuck itself and finally load.

To make matters worse, system resource usage while this is happening is next to nothing, but at the same time, spring's windowed fullscreen literally blocks windows from functioning properly, completely disables alt-tab, can't be minimized and makes the task bar non-functional.

I can cause alt-tab to work if I do win+d first, at which point windows pops up that spring is non-responsive. Clicking wait will allow spring to continue.

A workaround that I have found is to redirect spring's windowed fullscreen to display on my 3rd monitor, which then just essentially disables any real functionality of using that particular monitor, which is fine, more or less. However, I shouldn't have to.


Now, I gather that since all the spring devs are linux users, they do not have an actual grasp of what is going on on windows. I get that. I also get that loading up spring in a VM is a pretty crappy process, having done it myself to test linux stuff. So what do you need to understand the issue, beyond what I have already explained, that would help?
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: When can we talk about spring's loading problems (On Windows)?

Post by Kloot »

It seems to me you have already forgotten that the solution is *not* as easy as igoring .git folders.

What more information do you need to understand the issue other than "this ain't a Linux vs Windows deal"?
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: When can we talk about spring's loading problems (On Windows)?

Post by Forboding Angel »

I think you are misunderstanding me. My contention is not that ignoring.git will magically solve everything and deal with global climate change, only that it would help significantly.

Do you disagree with the hypothesis that ignoring .git would produce significant improvements (on windows)?



Regarding windows vs linux... It seems as though it is only a major issue on windows. We are talking up to 10 minutes of waiting sometimes.

Do you disagree with my assertion that it seems to only be a major issue on windows?



I assume that we can agree that the loading, and sometimes elongated loading process is indeed an issue. Do you have any suggestions as to how the issue could be alleviated?
Kloot wrote: 25 Oct 2018, 02:18 This comment should clue you in why using .sdd's as repository roots is a bad idea
As demonstrated in the OP, we don't really have a choice.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Re: When can we talk about spring's loading problems (On Windows)?

Post by Kloot »

Forboding Angel wrote:Do you disagree with the hypothesis that ignoring .git would produce significant improvements (on windows)?
The underlying problem is that doing development inside an .sdd thrashes the OS disk cache, git (as opposed to no VCS) just makes it worse.
Forboding Angel wrote:Do you disagree with my assertion that it seems to only be a major issue on windows?
It may be the Windows filesystem is less performant (10 minutes sounds extreme), but I have suffered through many long loading periods on older non-SSD Linux machines while debugging issues that required cloning git repositories of various games.
Forboding Angel wrote:I assume that we can agree that the loading, and sometimes elongated loading process is indeed an issue.
Of course, but it's not one I know how to readily solve.
Forboding Angel wrote:Do you have any suggestions as to how the issue could be alleviated?
Keep your .sdd out of Spring's reach, build an .sdz after every local commit (give this a fixed name like evorts-dev.sdz, be sure to use a low compression level) and move that into the games folder instead. Look into client hooks to automate the procedure.
User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14673
Joined: 17 Nov 2005, 02:43

Re: When can we talk about spring's loading problems (On Windows)?

Post by Forboding Angel »

Thank you <3

I don't think building an sdz after every commit is very likely a realistic option for most of us, but your post lays it all out perfectly. I actually really appreciate it, thank you :-)
gajop
Moderator
Posts: 3051
Joined: 05 Aug 2009, 20:42

Re: When can we talk about spring's loading problems (On Windows)?

Post by gajop »

Do you have problems with archives on SSDs?
I never have such long loading times even on fresh loads.. I think this is worth investigating
User avatar
Silentwings
Posts: 3720
Joined: 25 Oct 2008, 00:23

Re: When can we talk about spring's loading problems (On Windows)?

Post by Silentwings »

I don't have such long loading times either (various SSD on Win 7/10) - 30 seconds max when its re-caching, and the vast majority of time there is no delay at all during loading. I do move out sdd folders that I'm not working on, which usually leaves about 5 in games/maps.

@Forboding Angel: With 5-10 min loads on a modern HDD I'd look for a second compounding cause. Also, the curious structure of the Evo springignore.txt https://github.com/EvolutionRTS/Evoluti ... af275677a0 makes me wonder if there is something unusual in your sdds.

Personally I don't have a problem here to solve, but I don't think automated local sdz creation per commit is viable; as a game dev you often want to experiment with several different settings/numbers/images/etc before you make a commit to your repo. Ofc one could still build local sdzs according to some other trigger (and idk if this would break luaui/luarules reload), but if always re-zipping sdd is a good solution then perhaps the engine could do it as a post processing step inside RAM (and this then makes me suspicious, because I guess it would take significant time).
abma
Spring Developer
Posts: 3798
Joined: 01 Jun 2009, 00:08

Re: When can we talk about spring's loading problems (On Windows)?

Post by abma »

Silentwings wrote: 23 Mar 2019, 07:49 Personally I don't have a problem here to solve, but I don't think automated local sdz creation per commit is viable; as a game dev you often want to experiment with several different settings/numbers/images/etc before you make a commit to your repo. Ofc one could still build local sdzs according to some other trigger (and idk if this would break luaui/luarules reload), but if always re-zipping sdd is a good solution then perhaps the engine could do it as a post processing step inside RAM (and this then makes me suspicious, because I guess it would take significant time).
rapid could merge all files to two files: an index and the pool. this should happen when downloading / the pools is modified. not sure if its worth to do so: git basicly can do the same, maybe spring should get git support so it could directly fetch from a git repo.

recompressing to .sdz IMHO is a bad solution as the disk usage will be huge and the cpu time needed to recompress would be also very long.


when its slow on windows: exclude the rapid pool directory for the virus scanner.
Post Reply

Return to “Engine”