Quake Wars Performance Across Distros
I've been distro shopping lately so I've been able to benchmark ETQW across four different distributions, and they do have an impact on performance.
Core 2 Duo 2140 @ 2.66 Ghz
Nvidia Geforce 8800gs with the 173 series drivers.
3gb DDR 800
Not an ultra high end system, but enough to run the game for competition. Splash Damage recommends a 1000hz preemptible kernel, but I went with the stock kernels on all distributions and tested the difference in preemptible kernels on two.
Game was set exactly the same across distros as I moved my /home folder with me. Settings were 1280x1024 at low quality with all special effects turned off (my preference for competition). The timedemo used was during a heavy firefight indoors and outdoors.
The distributions: Ubuntu 8.04, Debian Sid, Arch Linux, and OpenSUSE 11.0. All distributions were run with 2.6.25 kernels.
Results with stock kernels:
Debian Sid: 74.2 FPS
Arch Linux: 71.4 FPS
Ubuntu 8.04: 65.8 FPS
OpenSUSE 11.0: 60.5 FPS
OpenSUSE takes a beating, but I think it's because of the services it automatically starts (Beagle, Pulseaudio). Also, none of the distributions were run with any desktop effects (compiz etc) and were run in entirely 2d mode. All distros used the full GNOME desktop.
Now, the interesting thing is that Splash Damage recommends high kernel hz and preemption, but Debian wins with a completely unpreemptible stock kernel at 100hz. I have, however, noticed a lot of jerkiness on Debian with the stock kernel, so having the preemption might help with that. I did have a chance to benchmark across kernels on Arch Linux and Debian.
Debian Stock: 74.2 FPS
Debian Custom Low Latency Desktop with 1000 Hz: 69.5 FPS
Debian Custom with Realtime Patches: 53.5 FPS
Notice the performance hit using the RT patches, you pay the price for that realtime responsiveness if you game on the same box, not that anyone would run RT on a gaming system, but since I do pro audio it's interesting.
Now for Arch Linux:
Arch Stock with Voluntary Preemption and 300hz: 71.4 FPS
Arch Custom with Full Preemption and 1000hz: 67.2 FPS
Again, increasing the hz decreases the FPS, but might make the game more responsive in terms of gameplay. Also, both the Debian and Arch stock kernels were compiled for i686 while the customs were compiled for Core 2 Duo, indicating that this difference might have an effect too.
So the conclusion I draw is that the distro you use can have as much as a 20% difference in performance. The greatest impact seems to come from background services, as Ubuntu and OpenSUSE took the biggest hit in performance, while the piecemeal distributions did a bit better (I tend to not install services I don't need). Also, choice in kernels may impact your gaming, while no preemption benchmarked the game the fastest, I noticed an increase in smoothness when played on a kernel with preemption and at least 300hz (in the case of Arch Linux, I couldn't tell the difference between 1000 and 300).
Also, it's important to say that the Windows client with the same hardware consistently benchmarked at 102 FPS in Windows XP, indicating a need for further optimization on the Linux side. I have heard that recompiling a special SDL for ETQW might help, but if you're really serious about performance or have a mid to lower spec system and want to play the game at a higher resolution installing XP might be the best bet.
Last edited by nonfatmatt; 10-08-2008 at 02:59 AM.
Pulse audio can severely hit your framerates. Also make sure it's not vsync holding back your fps. Another thing is to try the new nvidia 177.80 drivers as well. Beagle shouldn't hit your performance at all after the initial indexing as well but it's easily disable through the beagle applet. Background services should not be interfering that much (I run tonnes of services in the background with little performance hit at all, typically <2%) with your results but like I said things like pulse are known performance killers.
Vsync is off or I'd be hitting multiples of 60, plus it's disabled by default, and permanently disabled in timenetdemo. Also, I did run a benchmark with Ubuntu on the new drivers, and the difference is negligible, of course this may not cascade over all cases. This might have to do with the shift in support from G9x hardware to the newer stuff, and that most of Nvidia's bugs lately seem to be desktop based. Honestly I'm not interested in improving FPS on Linux, as I primarily play the game in Windows (40% is a big difference when you play competitively) and Splash Damage has indicated that they don't take the Linux client seriously, so there's not a lot of hope for further optimization that would make it competitively viable unless I dropped a whole lot of extra money on hardware.
Originally Posted by deanjo
Seconded. Please consider testing an Arch or Debian custom with tickless enabled. It might be interesting.
Originally Posted by curaga
Tickless should have no effect on actual game performance given what it does, but I tested it anyway:
Arch with 2.6.26 - Config 300hz and Nvidia Drivers 177.80
Stock Kernel: 70.3 FPS
With Tickless: 70.1 FPS
Also of note is that FPS is actually down by 1 with the new drivers.
Did you try disabling EIST? Because some distros might not enable powersaving or with differnent strategies.
EIST shouldn't have an effect. I run all of my distros with it enabled at the "on demand" setting. Also, the only two steps on my processor are 2 and 2.6 ghz, so you'd see a large performance hit if the game wasn't pegging the CPU.
Test it, then you will know it...