Loading...
  OR  Zero-K Name:    Password:   

Spring MT

29 posts, 2712 views
Post comment
Filter:    Player:  
Page of 2 (29 records)
sort
Original post: http://pastebin.mozilla.org/1631995

Spring MT is a collection of hacks originally designed for BA.
Not to repeat someone else words wrong, you can read difference between OMP and MT here: http://springrts.com/phpbb/viewtopic.php?p=514080
There is a fact that you may get greater performance with it while spectating or catching up game. Especially, if bottleneck (reason of bad performance) is because spring don't use available threads of your cpu.

The developer branch had a hang (crashing) issue fixed, so it is possible to play a ZK match with MT without crashing/hanging (but desyncing in the end of every ~12th match).
A bit more info in the first link of this message.

Spring MT in it's current state is unsupported by Zero-K developer team. And will never be. So if you decide to compile fresh version with patches from developer branch, use it at your own risk and know that probably no one will fix bugs you may find.

If you want to know the future of spring multi-threading you may contact jK.
If you have something to ask about my spring-mt (zerver's implementation) experience you may contact me in lobby.

I hope I understood everyone's voice I heard right. That's the reason this post looks like this now.

EDIT: if you play only small/silly maps. I don't think you really need to prefer mt over omp at all, lol.
+0 / -0


12 years ago
Its not supported to try spring MT. Due to fundamental issues with opengl/threading it cannot work reliably or predictably with zero-k. Wait for future versions with OMP
+0 / -0


12 years ago
It is you! What you say!? Launch all "zig"! For great justice!

I mean, what is "not supported"? :P The thread seems not to be a bug-report one, but rather a win-report.
+0 / -0
12 years ago
Epic failure, I managed to get desync. So as I provided bad example, I can no longer say that it's desync-free. Sadly, but if anyone decides to use spring-mt. Use at your own risk.
+0 / -0

12 years ago
I used MT for about a week. My experience:

Overall framerate not improved much, but framerate while reconnecting was MASSIVELY improved. When rejoining a game, I typically get 2-3 FPS on my GTX580. With MT, I achieved the same FPS as if I was plying game at normal speed: anywhere from 40-150 FPS.

I desynced in around 10-20% of all games played. This is what caused me to give up after a week of trying it.

+0 / -0
12 years ago
I tried it for a few games and got a crash (freezing spring, only hardware cursor moves) in about 80% of all games.

I used the latest available tarball and
cd ~/spring
cmake .
make spring
sudo make install-spring
+0 / -0
12 years ago
>HiKitty
I was getting hanging (freezing) issue too. Did you apply patches before compiling? Since it was fixed in developer branch, not in general master. (so that's why it requires applying cherry-pick at master version)
+0 / -0
12 years ago
and how to do that?
+0 / -0
12 years ago
git clone -b master git://github.com/spring/spring
cd spring
git cherry-pick c9c1f42 # mt fix 1
git cherry-pick 02191c7cbe # gcc 4.7 fix
git cherry-pick 71f0272a25 # mt fix 2, the one that fixes hanging
and compile with cmake spring-multithreaded
+0 / -0
12 years ago
git-cherry-pick
+0 / -0


12 years ago
you should use bastard cherry-pick. it causes less desyncs.
+0 / -0


12 years ago
Do not use spring MT, you can get random visual artefacts, you wont get significantly better performance and desync breaks the game for eveyrone.

It's not a proper implementation, don't assume its "better" in any way.
+0 / -0

12 years ago
>you can get random visual artefacts, you wont get significantly better performance and desync breaks the game for eveyrone.

And this differs from regular spring how? :D

Seriously though, Licho's right. I had way too many desyncs to make using MT worth it.
+0 / -0
what generally causes drop of fps? cpu or graphic bottleneck, I/O or RAM limitations?

im running spring on:
intel q6600, 4 x 2,9ghz
6gb ram
nvidia 560 gtx
sata 150 hard drive
win7, current nvidia drivers

big battles lag.
i also experienced lag when having many air units, especially fighters in air comabt.
+0 / -0


12 years ago
quote:
Seriously though, Licho's right. I had way too many desyncs to make using MT worth it.

Presumably, there have been recent fixes to that.

Besides, without testing, how can you find the bugs and fix them?

quote:
desync breaks the game for eveyrone.

I'd argue that wider testing - as long as it's made clear to everyone involved that Bad Things Might Happen - could in fact fix the game for everyone by improving engine performance.

Also, while rendering isn't that faster, simulation in MT is really turbo, which is all the more visible when either catching up on fast-forward, or in all those 32x32 zombiegames.
+0 / -0
No real fix is possible. There is fundamental flaw in the deisgn of that thing. There is just a collection of hacks that "mostly work".

You can ask jK for details, he works on proper multi threading for opengl.

Current MT implementation is scheduled for total demolition.

Testing is worthless. It was designed for games like BA that do not use any opengl rendering from lua.
+0 / -0


12 years ago
Oh.

Wait, we're heading for multithreaded rendering? Yay for profit!

(i thought it was just sim that could be mt'd)
+0 / -0
12 years ago
mhm so jK works on proper MT is it supported by all devs? At least if I remember correctly hoijui said that there wont be proper spring-mt in at least year or similar and whole thing needs redesign
+0 / -0


12 years ago
As far as engine devving goes you can't just assume something is implemented properly unless jK wrote it.
+0 / -0
12 years ago
Updated first message in thread according to information I've heard past this few days.
+0 / -0
Page of 2 (29 records)