Spring MT
Spring MT
Unofficial 93.11 release, compatible with Spring 93.1
What is Spring MT?
Spring MT is an independent engine that uses asynchronous multithreaded simulation (MT ASIM) to a much higher degree than the official Spring release. It also uses asynchronous pathfinding (APATH). This typically translates into significantly higher performance, depending on your hardware.
What hardware do I need?
You need three physical cores to get any real benefit. A quad core or better is recommended.
How much faster is it?
Typically more than 100% faster with a quad core. Benchmarked using Core I7 2600K, BA7.72, DeltaSiegeDry, Default pathfinder, 4x "give all".
How can it be faster?
The simulation will run on several CPU cores, and the pathfinder may also run on a separate core.
How does Spring / Spring MT play together?
Spring MT includes Spring, and uses automatic engine type detection to make it sync-compatible.
On which servers can I play Spring MT?
Look for servers that have "Spring MT" or "MT" in the description. These servers may have protected access and will send you a chat message with instructions how to join.
What is the downside?
The simulation may work slightly differently, producing some negative effects. This is also experimental stuff and may have crashbugs or desyncs. The Default pathfinder is recommended because the QTPFS pathfinder tends to kill the performance of Spring MT.
Should I use MT even if I don't want to play on MT servers?
You can give it a try, the included Spring (non-MT) version also has automatic CPU affinity setup that may give you some more performance.
How do I install it?
Note: After installation, join lobby chat room #SpringMT9311 to get access to MT autohosts.
Linux / Mac will be released in conjunction with Spring 94.0
How do I install it on my autohost?
Linux TBA
In spads.conf set masterChannel:SpringMT9311
In spads.pl, search for "sub cbJoinBattleRequest" and insert these lines of code immediately after the second line (the one that starts with "my"):
if (!exists $lobby->{channels}->{$masterChannel} ||
!exists $lobby->{channels}->{$masterChannel}->{$user}) {
my $mtmsg = "This server requires Spring MT 93.11. ".
"Install http://springrts.com/wiki/Spring_MT";
sayPrivate($user,$mtmsg);
queueLobbyCommand(['JOINBATTLEDENY',$user,$mtmsg]);
return;
}
Consider disabling spads auto update to avoid the changes being overwritten.