Page 1 of 1

Why Fedora's package several times faster that OpenSUSE's?

Posted: 22 Dec 2010, 07:07
by Anixx
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?

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 22 Dec 2010, 07:33
by SpliFF
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?

Posted: 22 Dec 2010, 14:08
by hoijui
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.

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 22 Dec 2010, 18:13
by Agon
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

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 22 Dec 2010, 18:48
by hoijui
and the debug symbols are stripped off later?
yeah guess it is what spliff said then.

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 22 Dec 2010, 19:36
by Agon
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

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 23 Dec 2010, 09:16
by hoijui
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?

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 24 Dec 2010, 18:35
by Agon
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?
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.
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?

Posted: 24 Dec 2010, 20:27
by Anixx
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?

Posted: 10 Jan 2011, 23:40
by Agon
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

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 17 Jun 2011, 14:57
by Anixx
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.

Re: Why Fedora's package several times faster that OpenSUSE's?

Posted: 19 Jun 2011, 13:06
by zerver
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).