Page 1 of 2

Linux nVIDIA Performance

Posted: 01 Sep 2007, 18:51
by LordMatt
I recently upgraded from a Athlon 64 4000+ with a 6800 Ultra with WinXP to a quad core conroe (2.4Ghz) and a 8800 GTS with Ubuntu Feisty 64-bit (edit nVIDIA driver version: 100.14.11). I thought my spring performance would improve, but it seems it's worse (particularly in the late game). I am running spring in its own xserver with the following xorg.conf (irrelevant parts removed):

Code: Select all

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
EndSection

Section "Module"
    Load           "bitmap"
    Load           "ddc"
    Load           "dri"
    Load           "extmod"
    Load           "freetype"
    Load           "glx"
    Load           "int10"
    Load           "vbe"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-1"
    HorizSync       30.0 - 130.0
    VertRefresh     48.0 - 170.0
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL P780"
    HorizSync       30.0 - 85.0
    VertRefresh     48.0 - 120.0
EndSection

Section "Device"
    Identifier     "GeForce 8800GTS"
    Driver         "nvidia"
    Option         "UseFBDev" "true"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GTS"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GTS"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Screen"
    Identifier     "Default Screen"
    Device         "GeForce 8800GTS"
    Monitor        "21 Inch"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1920x1440" "1920x1200" "1856x1392" "1792x1344" "1680x1050" "1600x1200" "1440x900" "1400x1050" "1280x1024" "1280x960" "1280x854" "1280x800" "1280x768" "1200x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "1"
    Option         "metamodes" "CRT-0: 1280x1024_75 +0+0, CRT-1: 1280x1024_85 +1280+0; CRT-0: 1280x1024_75 +1280+0, CRT-1: 1280x1024 +0+0; CRT-0: 320x175 +1280+0, CRT-1: 1280x960 +0+0; CRT-1: 1280x800 +0+0; CRT-1: 1280x768 +0+0; CRT-1: 1152x864 +0+0; CRT-1: 1152x768 +0+0; CRT-1: 1024x768 +0+0; CRT-1: 800x600 +0+0; CRT-1: 640x480 +0+0"
EndSection
And these spring settings:

Image

I also have a fair amount of lua running (e.g. IceUI, Idle Cons Widget, and HealthBar).

Any ideas about how I could increase my fps in the late game from 10-15 to 30+ without any noticeable difference in visual quality?

Posted: 01 Sep 2007, 18:53
by iamacup
because spring has trouble with good graphics cards, i get about 20 FPS with very similar settings on dual 8800's.

Posted: 01 Sep 2007, 19:26
by Relative
iamacup wrote:because spring has trouble with good graphics cards, i get about 20 FPS with very similar settings on dual 8800's.
Lies, I get 120 FPS with a 8600 GTS!!!

Posted: 01 Sep 2007, 19:27
by BrainDamage
just a shoot in the dark, try to disable the vsync

Posted: 01 Sep 2007, 19:47
by iamacup
Relative wrote:
iamacup wrote:because spring has trouble with good graphics cards, i get about 20 FPS with very similar settings on dual 8800's.
Lies, I get 120 FPS with a 8600 GTS!!!
you have open gl support.

Posted: 02 Sep 2007, 12:43
by Relative
iamacup wrote:
Relative wrote:
iamacup wrote:because spring has trouble with good graphics cards, i get about 20 FPS with very similar settings on dual 8800's.
Lies, I get 120 FPS with a 8600 GTS!!!
you have open gl support.
Please explain how you don't have opengl support in linux?

Posted: 02 Sep 2007, 12:52
by Neddie
I think he means that the 8600 has good OpenGL performance, and the 8800 for some reason does not.

Posted: 02 Sep 2007, 14:14
by clericvash
That and the series 8 are the newest ones, series 7 seem to work fine from what i have heard.

Posted: 02 Sep 2007, 14:45
by LordMatt
Turning off vsync seems to have helped a little. Any more ideas?

Posted: 02 Sep 2007, 14:54
by Relative
This is my SpringRC:

Code: Select all

3DTrees=1
AdvSky=1
AdvUnitShading=1
BuildIconsFirst=0
CamFreeAngVelTime=1.0
CamFreeAutoTilt=150.0
CamFreeEnabled=0
CamFreeFOV=45.0
CamFreeGoForward=0
CamFreeGravity=-500.0
CamFreeGroundOffset=16.0
CamFreeInvertAlt=0
CamFreeScrollSpeed=500.0
CamFreeSlide=0.5
CamFreeTiltSpeed=150.0
CamFreeVelTime=1.5
CamMode=1
CamTimeExponent=4.0
CamTimeFactor=1.0
CatchAIExceptions=1
ColorElev=1
CubeTexSizeReflection=128
CubeTexSizeSpecular=128
DepthBufferBits=24
DoubleClickTime=200
DualScreenMiniMapOnLeft=1
DualScreenMode=0
DynamicSky=1
FPSEnabled=1
FPSFOV=45.0
FPSMouseScale=0.003
FPSScrollSpeed=10
FSAA=0
FSAALevel=0
FixAltTab=0
FontCharFirst=32
FontCharLast=223
FontFile=Luxi.ttf
Fullscreen=0
GrassDetail=10
GroundDecals=100
GroundDetail=120
HighResLos=1
InfoConsoleGeometry=0.26 0.96 0.41 0.205
InfoMessageTime=400
InputTextGeo=0.26 0.73 0.02 0.028
InvertMouse=1
InvertQueueKey=0
LODScale=1.000
LODScaleReflection=1.000
LODScaleRefraction=1.000
LODScaleShadow=1.000
LastListChoice0=Metal maker AI
LastListChoice1=Air combat test
LastListChoice2=Tabula-v2.smf
LastListChoice3=Balanced Annihilation V5.61
LuaAutoModWidgets=1
LuaGaia=1
LuaRules=1
LuaShaders=1
LuaUI=1
MapArchives=1
MaxParticles=20000
MaxSounds=35
MaximumTransmissionUnit=512
MetalMapPalette=0
MiniMapButtonSize=16
MiniMapCursorScale=-0.5
MiniMapDrawCommands=1
MiniMapFullProxy=1
MiniMapGeometry=2 2 200 200
MiniMapIcons=1
MiniMapMarker=1
MiniMapUnitExp=0.25
MiniMapUnitSize=2.5
MinimapOnLeft=1
NoHelperAIs=0
OverheadEnabled=1
OverheadFOV=45.0
OverheadScrollSpeed=10
OverheadTiltSpeed=1
ReflectiveWater=3
RotOverheadEnabled=1
RotOverheadFOV=45.0
RotOverheadMouseScale=0.003
RotOverheadScrollSpeed=10
SM3ForceFallbackTex=1
SM3MaxTextureStages=20
SMFTexAniso=0.0
ScrollWheelSpeed=25
ShadowMapSize=4096
Shadows=0
ShowClock=1
ShowFPS=1
ShowPlayerInfo=1
SimpleMiniMapColors=0
SmoothLines=1
SmoothPoints=1
SoundVolume=45
SpringData=
StdoutDebug=1
StencilBufferBits=1
TWEnabled=1
TWFOV=45.0
TWScrollSpeed=10
TeamNanoSpray=1
TooltipGeometry=0.0 0.0 0.41 0.1
TooltipOutlineFont=0
TreeRadius=3000
UnitIconDist=100
UnitLodDist=600
UnitReplySoundVolume=19
VSync=0
VerboseLevel=0
WindowedEdgeMove=1
XResolution=1440
YResolution=900
buildmenu_align=0
buildmenu_icon_size_base=52
buildmenu_offset=0
buildmenu_side=2
name=

Posted: 02 Sep 2007, 15:10
by BrainDamage
LordMatt wrote:Any more ideas?
quit playing speedmetal :P J/K
LordMatt wrote:I am running spring in its own xserver
using the same script you made to send spring to another X session, launch glxgears (a quick 'n dirty 3D benchmark tool that you have automatically installed when you get OpenGL) in a console and look at the FPS it outputs; for a 8xxx series, it should be above 14K FPS; so you can exclude it's a card/OS/driver/xorg problem

also since you run in a separate X session, why do you need to have it windowed? iirc you'll get quite a performance boost in fullscreen due to the different type of rendering

do you use any fancy 3d effects like beryl/compiz/compiz-fusion? if yes, what X engine do you use? AIGLX?

EDIT: also try to run the game using one of the defualt scripts such as the air script test, maybe at high speed, and look at the performance usage; use the B key to monitor the weight of the single elements, it should help you detect the source of the problem

Posted: 02 Sep 2007, 17:08
by LordMatt
Relative wrote:This is my SpringRC:
And what GPU, driver, and FPS in late game do you get?
Brain Damage wrote:launch glxgears
I get 18K FPS
Brain Damage wrote:why do you need to have it windowed
If I run spring full screen, the mouse is massively slower, a problem discussed here. The only solution appears to be to run spring windowed.
Brain Damage wrote:do you use any fancy 3d effects
No. I also don't know what AIGLX is, except that I had to disable it on another machine with an ATI card.
Brain Damage wrote:try to run the game using one of the defualt scripts such as the air script test, maybe at high speed, and look at the performance usage; use the B key to monitor the weight of the single elements,
I ran air combat test at 3.0 speed (the highest it would go) and it ran between 40-60 fps on c2c. The highest usage was interface draw at almost 50% (twice as much as draw world). I get 90-120 with luaUI disabled, however I really don't want to disable lua, as I like IceUI, and the other widgets I use. Also, the performance still isn't much greater than I was getting with the 6800 Ultra, which had about 40-60 fps with a few units on c2c and 80-100 if I disabled luaUI.
Brain Damage wrote:quit playing speedmetal Razz J/K
It doesn't matter what map it is I still spam tonnes flashes and stumpies. :P

Posted: 02 Sep 2007, 17:15
by Lippy
BTW, not really sure with specifics here, but I once had it that if I used 3d effects (compiz with aiglx i think), I actually got better performance in things like video (didnt play spring on linux then). Maybe it could help spring performance in windowed mode?

Also, you say that your mouse is massively slower, however you never say if fps improves in full screen mode?

Posted: 02 Sep 2007, 17:16
by Tobi
LordMatt wrote:I ran air combat test at 3.0 speed (the highest it would go) and it ran between 40-60 fps on c2c. The highest usage was interface draw at almost 50% (twice as much as draw world). I get 80-100 with luaUI disabled, however I really don't want to disable lua, as I like IceUI, and the other widgets I use. Also, the performance still isn't greater than I was getting with the 6800 Ultra, which had about 40-60 fps with a few units on c2c and 80-100 if I disabled luaUI.
Sounds like the CPU is the bottleneck, not the GPU. (That's what I'd conclude if I bought a new video card and it wouldn't make stuff faster.)

Posted: 02 Sep 2007, 17:21
by Relative
LordMatt wrote:
Relative wrote:This is my SpringRC:
And what GPU, driver, and FPS in late game do you get?
I have a 8600 GTS with the 100.14.11 drivers installed via the envy scripts. I get 120~ FPS at the beginning of matches and about 30-60 FPS late ingame when there are about 2000~ units on screen. In glxgears I get around the low end of 17K FPS.

Posted: 02 Sep 2007, 17:23
by LordMatt
Lippy wrote:I once had it that if I used 3d effects (compiz with aiglx i think), I actually got better performance in things like video (didnt play spring on linux then). Maybe it could help spring performance in windowed mode?
How do you turn on aiglx? I could add that to my xorg.conf for spring.
Lippy wrote:however you never say if fps improves in full screen mode
Fullscreen with luaUI turned on air combat c2c is 50-80fps, but the mouse is way to slow for competitive play
Tobi wrote:Sounds like the CPU is the bottleneck
I have a quad core conroe at 2.4Ghz I doubt the CPU is a bottleneck (a single conroe core is about twice as fast as my previous 4000+ CPU).
Relative wrote:I have a 8600 GTS with the 100.14.11 drivers installed via the envy scripts. I get 120~ FPS at the beginning of matches and about 30-60 FPS late ingame when there are about 2000~ units on screen. In glxgears I get around the high end of 16k.
Do you use LuaUI?

Posted: 02 Sep 2007, 17:26
by Relative
Do you use LuaUI?
I use LuaUI, but only the default lua stuff, no iceui.

Posted: 02 Sep 2007, 18:11
by BrainDamage
LordMatt wrote: If I run spring full screen, the mouse is massively slower, a problem discussed here. The only solution appears to be to run spring windowed.
there is a solution; just check the SDL env vars

more specifically:

set SDL_MOUSE_RELATIVE to 0

and

SDL_VIDEO_X11_MOUSEACCEL
For X11, sets the mouse acceleration. The value should be a string
on the form: n/d/t
where n and d are the acceleration numerator/denumerators (so
mouse movement is accelerated by n/d), and t is the threshold
above which acceleration applies (counted as number of pixels
the mouse moves at once).
LordMatt wrote:if I disabled luaUI.
the old vesions of IceUI used to give me huge perfomace drop to me too (half of FPS)

use the updater in IceUI/Accessories/Upadter for linux.sh and see if you got the lastest version, those versions really improved the speed a lot for me (like 1/15 FPS drop now)

Posted: 02 Sep 2007, 18:29
by Relative
I just tried out iceUI. It almost cut my FPS in half. I went from 120 FPS~ to 70~ FPS at the beginning of a match.


Edit: I updated iceui and the FPS drop was greatly reduced.

Posted: 02 Sep 2007, 19:17
by LordMatt
Brain Damage wrote: there is a solution; just check the SDL env vars
Where do I set this? Though I may have managed to set up a lot of crazy custom stuff for spring, I'm still a linux nub. :P

Regarding updating IceUI, it may be that other widgets are eating a lot of FPS, however none of them are active during that flight test script. I do have the latest IceUI.

Edit: nm I got SDL_MOUSE_RELATIVE=0 working and that seems to have fixed the mouse issue.