Graphical Performance & Spring - Page 2

Graphical Performance & Spring

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

Moderator: Moderators

DemO
Posts: 541
Joined: 18 Jul 2006, 02:05

Post by DemO »

I gave myself a laugh when I opened up the memory box to check it out and realised that pretty much the entirety of my PC components have several heatsinks.

8800GTX has huge heatsink
I'm using tuniq tower 120 on CPU (even more huge)
Mainboard has 3 heatsinks connected by heatpipes
Memory has heatsinks on both sides too.

Still, anyone know how to make spring work on an 8x00 series card?
And is there anything I can do for Spring with my Q6600? I vaguely remember reading over something before about playing Spring on dual or quad core CPU's and how changing the priorities or something similar would make it work better.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Welcome to the club demo. I use quantum's FPS manager to keep things playable, however that requires using lua, which I know you hate. :P
MetalSkin
Posts: 77
Joined: 31 Aug 2007, 02:42

Post by MetalSkin »

LordMatt wrote:Welcome to the club demo. I use quantum's FPS manager to keep things playable, however that requires using lua, which I know you hate. :P
What's the deal with the FPS manager? First I've heard of it.

I have the same problem as Demo... duel SLI Inno3D GF 8800GTX running at 2,560 x 1,600 on a quad core system, and my frame rate sucks!
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Well, I'll make the tweaked version I use available here. This version adds some more graphical settings that can further improve FPS in heavy load situations.
DemO
Posts: 541
Joined: 18 Jul 2006, 02:05

Post by DemO »

I'm not even going to try playing Spring again unless I can get at least 50 fps minimum in almost all conditions. Spent years playing games with sub-standard fps counts and now that I finally forked out lots of cash to build a rig that can run everything else at full details with a perfectly reasonable (if not totally excessive) frame rate, I have no intent on going back to low FPS gaming.

Some dev's please post in this thread about any plans/possibilities for increasing performance of 8x00 series cards in Spring, or even to say that it's not going to happen. Don't want to hang onto false hope.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

It's not going to happen.

Well, it may happen sometime but currently there are no concrete plans nor does any developer have an 8000 series nvidia card, as far as I know.

So it totally depends on some new random developer popping up who wants to fix Spring for 8000 series nvidia cards.

Just make sure you turn off threaded optimizations in the nvidia driver control panel, it's not going to be any faster then what you get with that soon.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Post by Auswaschbar »

Um, I have an 8500 and I would really like to help, but I have no clue about OpenGL. :oops:
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

I just noticed you didn't have the 'Spring developer' tag yet. Fixed now :-)

Maybe you could work together with imbaczek, who wants to fix it but has no 8000 series card (not sure how (not) efficient that turns out to be though :-P)
User avatar
jcnossen
Former Engine Dev
Posts: 2440
Joined: 05 Jun 2005, 19:13

Post by jcnossen »

Auswaschbar: Maybe you can start by disabling certain rendering parts to see is causing it?
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Post by Auswaschbar »

Testing conditions:
8500GT PCIe + recent driver (100.14.19)
Core2Duo 4300 (1.8GHz)
1GB DDR2 800MHz

Settings:
Spring svn r4473
1280x1024 fullscreen without AA and UnitIconDistance 155
Script: Air Combat Test
Map: Smoth Heigths V5
Mod: XTA v9.1

min. Details: ~150fps (with bug caused by low unit detail)
max. Details (water=reflective+refractive): ~30fps
max. Details without shadows: ~55fps

Top performance eaters:
Shadows (they doesnt even look good, though)
Water (depending how much water is on the screen and how much units are above it)

I didn't noticed any settings which cause a strange slowdown, but can someone please post a value from a non 8000 card to compare with?

Edit:
Ground decals seem to have also a great impact on performance.
On max settings my framerate drops from 50 to 5 after i fired some nukes . Setting Ground decals to low fixed this performance drop.
Last edited by Auswaschbar on 28 Sep 2007, 17:30, edited 1 time in total.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Seems reasonably fine compared to my 7600 GT (AMD 3200+ @ 2.0 GHz, 1 GB RAM).

I get 100-120 FPS without shadows, reflective units, LuaUI and 3d trees, and about 40-60 with that enabled (1280x1024, no AA, 24 bit z buffer, basic water )
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

I've just ordered an 8800GTS, so I plan to
run some tests as well (albeit in combination
with a single-core CPU). If these slowdowns
are reproducable on that setup, then they
probably don't stem from synchronizing OGL
operations (like the glGet*() calls) when the
driver is multi-threaded, but since Spring
doesn't have too many of those in critical
places AFAICT anyway that's unlikely to be
the real issue.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

yay! less work for me \o/ :wink:
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

I wonder, can we offload pathfinding onto the second core if someone has a multicore computer? It's the single biggest performance eater in most situations. If I remember right, Spring actually does worse on multicore computers than single core... Taking advantage of multicore should be a top priority IMHO, that sort of processor is getting very common and is only going to get moreso.
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

Every dual core processor won't have problems with running spring on a single core, so that's kinda pointless 8) but yes, it is one of the easiest possible ways of utilizing two cores. Physics is another thing that is easily parallelized.
User avatar
Caydr
Omnidouche
Posts: 7179
Joined: 16 Oct 2004, 19:40

Post by Caydr »

Yes physics too, those two things should go on their own core whenever possible. They eat up all my efpeeesses.

I understand that Spring wasn't designed for multicore, but just pretending that other CPU isn't there is awfully wasteful. There's got to be some way to split the processing up, even if it takes time.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Post by Auswaschbar »

I just discovered this picture :?
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

kloot, spring performs horrendously under multi threaded optimizations because of glGet calls, so for all intensive purposes synchronous calls do matter as any sane spring user has this option turned off for performance reasons.


And this is not a cpu lag issue. I have an 8800 and I get around 100 fps at min settings with perhaps decals and a few minor options turned on, which then falls to 40fps very quickly, which is comparable to my FX 5200 ultra on the same settings. My cpu doesn't lag at all in this time and I can get those frame rates while at 1-2% cpu usage.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Can you guys please test with more than a few units on screen? I can get really high FPS at game start that rapidly degrades as more units are present.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Post by Auswaschbar »

With some cheating I spammed hundreds of different units, it doesnt impact performance.

The only thing is that after some playing, performance drops because of ground decals. Its very easy to reproduce:
1. set GroundDecals to high
2. notice the normal framerate (~50 for me)
3. fire at least 5 nukes and wait till explosion is gone
4. watch framerate drop to ~5 fps
Post Reply

Return to “Engine”