SSE & SSE2 releases please!

Developer discussion of experimental fixes, changes, and improvements.

Moderators: Nexuiz Moderators, Moderators

SSE & SSE2 releases please!

Postby PoWaZ » Thu Jun 22, 2006 9:07 am

I was wondering if someone could compile Nexuiz for SSE & SS2 CPU ?
I've tried to do it, but I got some errors, and since I'm not a coder... it's difficult for me to manage all that. :roll:

I'm not a coder, but I'm sure there are ways to optimize the code, depending on the hardware.

It would be a good thing, thank you! :)
PoWaZ
Newbie
 
Posts: 2
Joined: Thu Jun 22, 2006 8:58 am

Postby Ed » Thu Jun 22, 2006 10:06 am

Parse this to GCC to compile with SSE:
Code: Select all
-mfpmath=sse


For SSE2 I think it's the same but with a 2. There wouldn't be much point in doing this as more can be got from other optimisations specific to CPU's. I do this:

Code: Select all
make sdl-nexuiz    CFLAGS_RELEASE="" OPTIM_RELEASE=""    CFLAGS_COMMON="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -ftracer -fno-strict-aliasing -ffast-math -funroll-loops -fprefetch-loop-arrays -mfpmath=sse -falign-functions=4 -maccumulate-outgoing-args -minline-all-stringops"


That's for an Athlon XP although at the moment I can't get it to compile the SDL version because of some missing libs. GLX works fine like this.
Ed
Forum addon
 
Posts: 1172
Joined: Wed Mar 01, 2006 12:32 am
Location: UK

Postby esteel » Thu Jun 22, 2006 10:09 am

I'm not sure it will help much.. I heard LordHavoc say (more read/write :)) that he did only notice FPS increases about 1-5fps when compiling for specific CPUs. DP is much more GPU bound..

And at least the CPU optimizations in the make file do not really make a difference for me so i think thats right.
esteel
Site admin and forum addon
 
Posts: 3924
Joined: Wed Mar 01, 2006 8:27 am

Postby xcooling » Fri Jun 23, 2006 11:11 am

this is my take on it.

You guys are only focusing on client side performance, which i would estimate is 90% dependent on the graphics setup.

Now think dedicated servers, thats 90% cpu dependent.

We have a dual 3Ghz Xeon server. dual 100mbit lines, running windows 2003 .etc etc.

yeah over kill for nexuiz, however cpu usage is our most critical resource.

Now imagine we host 4 nexuiz servers, each with ~64 playes. (we host a few games on this specific box).
Thats allot of cpu power.

Even a 5% performance improvement, from a cpu optimised build will help.

We used to host quake3a servers, and had the cpu optimised files, what a difference it made, so much so it actually improved the clients/players game performance. (reducd cpu overhead, lag etc).

How hard would it be to compile the optimised builds by default, just make a script. I think the community at large would benifit from such and easy thing todo. All it means is we have choice, of exe for our specific cpu;s.

(eg. AMD XP, AMDx2, AMD Opteron, Intel Dual Core, Intel P4 (sse3),
intel xeon. )

Im by no means saying we must package 10 different exe;s in the release. Just have them available for seperate download.

Im sure the various server providers will be extremely grateful.

Thanks.
xcooling
Newbie
 
Posts: 6
Joined: Fri Jun 23, 2006 5:24 am
Location: South Africa

Postby esteel » Fri Jun 23, 2006 11:26 am

xcooling wrote:Now imagine we host 4 nexuiz servers, each with ~64 playes. (we host a few games on this specific box).
Thats allot of cpu power.
Even a 5% performance improvement, from a cpu optimised build will help.

Well you should not start with a bad example.. There is absolutly NO map in Nexuiz that is fun with more then 10 players! Why host a 64 player server?

The server i was hosting on a duron 2.0 ghz used 5% cpu WITH several bots. I still really doubt this will change very much with cpu optimized builds. But everone is free to test this.. the sources are included. The dedicated server has as good as not dependencies so it should be easy to compile..
esteel
Site admin and forum addon
 
Posts: 3924
Joined: Wed Mar 01, 2006 8:27 am

Postby xcooling » Fri Jun 23, 2006 12:44 pm

you missed the point.

ill say 20 x 10man servers, if that sound better.

the box is not 100% dedicated to nexuiz, nexuiz server shares its home with other games and servers.

Im just requesting that you guys could make optimised builds, for us server hosters. Most server hosters arnt gonna custom compile, they just want the file to download, and launch.
xcooling
Newbie
 
Posts: 6
Joined: Fri Jun 23, 2006 5:24 am
Location: South Africa

Postby LordHavoc » Sat Jun 24, 2006 6:56 am

xcooling wrote:How hard would it be to compile the optimised builds by default, just make a script. I think the community at large would benifit from such and easy thing todo. All it means is we have choice, of exe for our specific cpu;s.

(eg. AMD XP, AMDx2, AMD Opteron, Intel Dual Core, Intel P4 (sse3),
intel xeon. )


The key I see here is that you are hosting on Windows, Linux is more commonly used for hosting game servers and makes it a breeze to compile native binaries, so this does not affect as many admins as you might think.

I'm also not sure that Windows multitasking is really suitable for game server hosting due to the need for reliable realtime scheduling of thousands of task switches per second when hosting several game servers, otherwise they might become 'jerky'. (No effect on the speed of the game, just that it might not be as smooth as it should be)

As mentioned I did testing on the client and found it was entirely gpu bound even on my 6800 ULTRA, so I pretty much canceled my plans to include multiple CPU optimized builds, but I didn't think of including cpu optimized dedicated server builds, this is an interesting subject...

I think we need to do some testing on this to first determine how much gain there is from the optimized builds, as the engine might not actually benefit much (it's not particularly designed for SSE instructions, and as such it has misaligned vectors in memory and they are 3 component, not the 4 component desired by SSE instructions, some of which can't be 'fixed' because most of the vectors belong to the QuakeC gamecode).
LordHavoc
Site Admin
 
Posts: 191
Joined: Wed Mar 29, 2006 7:39 am
Location: western Oregon, USA


Return to Nexuiz - Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron