I several months already use Spring client from Fedora's repository on my OpenSUSE system because it performs several times better.
I have Core 2 Duo 3 GHz processor but Spring is unplayable with a client taken from OpenSUSE build service. I tried both spring and spring-multithreaded executables with no difference. Usually I have much greater processor load than other players as seen on this screenshot (this is not at a peak, but stable situation):
http://storage2.static.itmages.ru/i/10/ ... 2d341f.png
By the end of the game I usually go unsync due to overload and often disconnected completely.
When I use the Fedora's client on the opposite, I usually have about 2 times lesser load than other players and never went unsync. Typically when others have 30-40% load I have 7-15% Under Fedora I always started standard spring executable. I use the same detalization and quality options with both clients, the same number of nano-particles etc.
Unfortunately, the latest version was not packaged for Fedora 13 and the version from Fedora 14 requires some newer libraries than I have in my system, so I cannot use it. Effectively this means I cannot use Spring at all.
So what the options Fedora uses to gain such huge performance boost compared to OpenSUSE community's version? What options should be enabled either during the build or in run-time to have similar performance?
Why Fedora's package several times faster that OpenSUSE's?
Moderator: Moderators
Re: Why Fedora's package several times faster that OpenSUSE's?
Off-hand i'd say your graphics were running unaccelerated. It would easily explain such a dramatic difference.
Re: Why Fedora's package several times faster that OpenSUSE's?
yeah, that sounds like a very possible reason. an other thing could be that the slow one was a Debug build of spring. In the past, Debug was the default build type, so if a packager would not have changed that, that would explain it too. Debug builds do some extra checks, and it is normal for them to run much slower, also release builds with debug symbols not stripped off, or with debug symbols installed and linked to the binary.
edit:
due to spring being synced, you can hardly change any settings that have a noticeable performance impact.
edit:
due to spring being synced, you can hardly change any settings that have a noticeable performance impact.
Re: Why Fedora's package several times faster that OpenSUSE's?
From the spec:
cmake -G"Unix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DLIBDIR=%{_libdir} -DCMAKE_INSTALL_PREFIX=/usr -DCUSTOM_COMPILER_DEFINITIONS="$RPM_OPT_FLAGS" -DCMAKE_BUILD_TYPE=RELWITHDBGINFO -DAI_DATADIR=%{_libdir}/spring -DAI_LIBS_DIR=%{_libdir}/spring
I enabled this, as I was told to do:
-DCMAKE_BUILD_TYPE=RELWITHDBGINFO
From an openSUSE 11.3 64bit build:
cmake '-GUnix Makefiles' -DCMAKE_VERBOSE_MAKEFILE=ON -DLIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr '-DCUSTOM_COMPILER_DEFINITIONS=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables' -DCMAKE_BUILD_TYPE=RELWITHDBGINFO -DAI_DATADIR=/usr/lib64/spring -DAI_LIBS_DIR=/usr/lib64/spring
cmake -G"Unix Makefiles" -DCMAKE_VERBOSE_MAKEFILE=ON -DLIBDIR=%{_libdir} -DCMAKE_INSTALL_PREFIX=/usr -DCUSTOM_COMPILER_DEFINITIONS="$RPM_OPT_FLAGS" -DCMAKE_BUILD_TYPE=RELWITHDBGINFO -DAI_DATADIR=%{_libdir}/spring -DAI_LIBS_DIR=%{_libdir}/spring
I enabled this, as I was told to do:
-DCMAKE_BUILD_TYPE=RELWITHDBGINFO
From an openSUSE 11.3 64bit build:
cmake '-GUnix Makefiles' -DCMAKE_VERBOSE_MAKEFILE=ON -DLIBDIR=/usr/lib64 -DCMAKE_INSTALL_PREFIX=/usr '-DCUSTOM_COMPILER_DEFINITIONS=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables' -DCMAKE_BUILD_TYPE=RELWITHDBGINFO -DAI_DATADIR=/usr/lib64/spring -DAI_LIBS_DIR=/usr/lib64/spring
Re: Why Fedora's package several times faster that OpenSUSE's?
and the debug symbols are stripped off later?
yeah guess it is what spliff said then.
yeah guess it is what spliff said then.
Re: Why Fedora's package several times faster that OpenSUSE's?
It says extracting debuginfo...
extracting debug info from /usr/src/packages/BUILDROOT/springrts-0.82.6.1-6.1.x86_64/usr/bin/spring-multithreaded
extracting debug info from /usr/src/packages/BUILDROOT/springrts-0.82.6.1-6.1.x86_64/usr/bin/spring-multithreaded
Re: Why Fedora's package several times faster that OpenSUSE's?
its quite easy.. if it has debug symbols stripped, it would be around 10-15MB, while with them, it would be > 60MB.
What about your performance, Agon?
What about your performance, Agon?
Re: Why Fedora's package several times faster that OpenSUSE's?
I am running Spring on an Amd Phenom 9950 QuadCore Processor and I am using the none mt binary. I can play the most games at more than 25 fps the whole match, only big long matches tend to bring low fps.hoijui wrote:its quite easy.. if it has debug symbols stripped, it would be around 10-15MB, while with them, it would be > 60MB.
What about your performance, Agon?
And it doesn't wonder me, because one core has only ~2,4 Ghz which isn't much. Didn't test mt binary, thought.
Re: Why Fedora's package several times faster that OpenSUSE's?
Removing debug symbols indeed helps much. But still not enough. I still go unsync and have greter CPU load. When I used Fedora's client I never was even close to go unsync and always had less load than others.
Re: Why Fedora's package several times faster that OpenSUSE's?
I removed some cmake custom flags from the build script.
I hope this helps with desync and such things.
New build-version is: 0.82.7.1-2.1
I hope this helps with desync and such things.
New build-version is: 0.82.7.1-2.1
Re: Why Fedora's package several times faster that OpenSUSE's?
I have just installed the most recent version from your repo and I got the same problem: when other people have 4% load I have 40%-60%.
How can it be 50%-60% load in the very beginning???
If I join the game in the mid I cannot catch up the sync until the game ends. I see other people joining after me and they catch up quickly. My async gap just increases even if I join in the beginning of the game.
How can it be 50%-60% load in the very beginning???
If I join the game in the mid I cannot catch up the sync until the game ends. I see other people joining after me and they catch up quickly. My async gap just increases even if I join in the beginning of the game.
Re: Why Fedora's package several times faster that OpenSUSE's?
Try spring-multithreaded with LuaShaders=0 and do "/luaui disable" ingame. Then press Alt+B and check what is using up all your CPU (maybe post a screenshot here).