PDA

View Full Version : Linux vs Windows driver performance


nvluser
03-18-03, 08:44 PM
Hi ,

I have just done a few benchmarks with Quake3. And it seems no matter what I do the windows benchmarks beat the Linux ones by atleast 15 FPS.


quake3 demo001 timedemo in fps
(run without sound enabled, both in 32bpp)

linux windows
640x480 117 149
1024x768 48 64


i get a similar difference using demo002.

I've tried tweaking settings under linux; using both AGPGART and NVIDIA AGP. Turning page flipping on/off (with vsync). And i still cant get any better scores.

This is my setup

Hardware:
AMD-Athlon XP1600 (1400 MHz)
KT266A Northbridge
Geforce 2 MX400 64Mb
512 Mb DDR system ram

AGP settings (both on linux and windows):
4x
SBA disabled (video card doesnt support this)
Fastwrites off (doesnt speed anything up)
AGP aperture 128


Software:

Linux
kernel 2.4.5
nvidia driver version 1.0-4191 (tar.gz package)
xfree 4.2.0

windows
windows 2000 service pack2
nvidia driver version 41.09

This is kind of bad, since I remember doing a bench mark along time ago using a celeron500 and a TNT2/Ultra card and getting similar/better scores in Linux than in windows. Maybe the Linux driver does not have as good support for Athlon-3DNOW, or maybe its support for Geforce2 cards is not as good as the windows driver.

any ideas?

Chalnoth
03-18-03, 10:33 PM
Well, when you compiled from the tar.gz package, did you make sure it was compiled for the Athlon architecture?

I'm not entirely sure how you'd do it directly from the tarball, but you can do it from the source rpm with rpmbuild --target=athlon

bwkaz
03-19-03, 08:17 AM
The target arch isn't specified in the tarball. If you want, put a -march=athlon in the first CFLAGS line in the Makefile (assuming your compiler supports that flag -- 2.95 does not; use -march=i686 for that).

The one thing I see is that your Linux kernel is pretty old. If you try 2.4.20, that might help. You'll have to recompile the NVIDIA_kernel package after booting to the new kernel if you do that.

The other thing that might help, though perhaps not, is RML's -preempt patch. This makes the kernel be preemptible, and improves interactivity for most people. However, for pure framerate, it may not help much... anyway, if you want to try it, the patch is here:

http://www.kernel.org/pub/linux/kernel/people/rml/preempt-kernel/v2.4/

You'll want the version that matches whatever kernel you compile -- if you go with 2.4.20, get the preempt-kernel-rml-2.4.20-1.patch file.

Noth
03-19-03, 08:33 PM
At the absolute minimum get 2.4.20, testing with a kernel 15 revisions old is bad, especially considering how bad the 2.4 series was in the beginning (pre 2.4.10).

nvluser
03-19-03, 09:28 PM
OK, I have compiled/installed 2.4.20, i havent tried the preempt patch ( i dont think that context switching between processes is the problem).

The performance i am getting is exactly the same, ive tried both agpgart and nvagp. I definitely think that its a agp bandwidth issue.

What seems to be the slow down, is when in demo001 there is blood upclose (after some gibs
:D ) , the fps go down to like 18 fps, the rest of the demo goes ~60 fps (1024x768).

I really think that the performace of the Nvidia Linux driver on my video card (gf2 mx400 64mb) is not as optimized as the windows driver. Which is to be exptected, but 15 fps is quite a alot.

(i recompiled nvidia.o for the new kernel)

Wolfman [TWP]
03-19-03, 09:29 PM
I've found that Q3A fps is pretty much on par with my Windows setup. (+/- 5fps)

I'm getting around 155fps in Demo1, using 1280x1024 32bit (Have not noticed any difference switching to 16bit) And everything MAX'ed.

System: Athlon XP 2000+
Video: MSI GF4 Ti4600 (128MB)

I get around the same on my Dual Athlon MP 2000+ system (With same Video Card). If I switch Q3A to SMP mode it tends to drop the FPS in that resolution to around 110fps but it seems to increase the 640x480 to around 171Fps. (Where with normal single CPU mode it's the other way around :confused: )

The Linux Kernels running on both systems are RH 8.0 - 2.4.18-27.8.0.

Anyway, as long as I can play FPS games in Linux and they use hardware 3D accel I'm happy.

Wolf