Difference between revisions of "Performance Tuning"
(→Benchmarking and Testing) |
m (→video card limited systems: - Cleaned up - Still need curve settings) |
||
Line 16: | Line 16: | ||
===Improving performance on video card limited systems=== | ===Improving performance on video card limited systems=== | ||
*'''lower resolution''' | *'''lower resolution''' | ||
− | :lower | + | :Choose a lower value for r_mode; use /modelist to see available modes |
*'''Lower texture quality''' | *'''Lower texture quality''' | ||
− | ** | + | **Set [[r_picmip]] to a higher value (up to 3). |
− | ** | + | **Set [[r_texturebits]] to 16 |
− | ** | + | **Set [[r_texturemode]] to <tt>GL_NEAREST_MIPMAP_NEAREST</tt>, <tt>GL_LINEAR</tt> or <tt>GL_NEAREST</tt> |
− | **texture compression [[r_ext_compressed_textures]] to 1 ( | + | **Set texture compression [[r_ext_compressed_textures]] to 1 (Note that this may have a positive or negative impact on performance, depending on your system) |
*'''lower color depth''' | *'''lower color depth''' | ||
− | : | + | :Set [[r_colorbits]] to 16 |
*'''Other quality settings''' | *'''Other quality settings''' | ||
− | : | + | :Set r_fastsky to 1 |
− | :curve settings (TODO) | + | :Set curve settings (TODO) |
==Available Physical RAM== | ==Available Physical RAM== |
Revision as of 03:23, 28 March 2006
Contents
Performance bottlenecks and workarounds
The following describes general areas which can affect game performance, and possible workarounds. Network performance is not addressed here, except as it relates to CPU usage.
Hardware mentioned is meant only as a general example.
CPU and system memory speed
- As a general rule, ET likes lots of CPU and memory/cache/FSB bandwidth.
Anything less than an Athlon XP 2000 or Pentium 4 2GHZ. Systems with poor memory bandwidth (SDR or DDD266 RAM) or crippled cache (celeron, duron) will suffer.
Improving performance on CPU limited systems
- b_optimizeprediction 1
- Higher ping and packet loss put more load on the CPU
- Larger servers put more load on your system
Video card
Anything less than a geforce4 (not MX) or radeon 9600 will be a serious handicap. Beware of manufacturers deceptive naming conventions, a FooBar 1000XTS might be the best available card while the FooBar 1000LE is utter crap.
Improving performance on video card limited systems
- lower resolution
- Choose a lower value for r_mode; use /modelist to see available modes
- Lower texture quality
- Set r_picmip to a higher value (up to 3).
- Set r_texturebits to 16
- Set r_texturemode to GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR or GL_NEAREST
- Set texture compression r_ext_compressed_textures to 1 (Note that this may have a positive or negative impact on performance, depending on your system)
- lower color depth
- Set r_colorbits to 16
- Other quality settings
- Set r_fastsky to 1
- Set curve settings (TODO)
Available Physical RAM
256 megabytes or less of system RAM will impact level load times and cause hitching (momentary drops in FPS) in game. If levels take a long time to load, or your hard disk is frequently active during gameplay, you are most likely need more RAM.
Settings for systems without much system RAM
- r_picmip and r_texturebits, as above
- lower sound quality
- set com_hunkmegs to 56, or the lowest value that works with all the maps you want to play.
- other memory cvars should not be set too high above the default.
Integrated sound
Most integrated sound devices suck, and can cause noticeable FPS loss and stuttering.
External Programs
In general, the less you run when you play ET, the better. However, some programs are known to have disproportionate performance impacts.
- x-fire in game integration features.
- p2p bittorrent, kazaa etc.
- malware viruses, spyware and addware can all cause serious performance problems.
- scheduled tasks such as windows update or antivirus updates
- software firewalls and antivirus some of these products have been reported to cause problems. (TODO more details)
Benchmarking and Testing
To get the best performance out of your particular system, you should test each tweak to ensure it has the desired effect.
You can use the timedemo cvar to benchmark demo playback. Do this by setting timedemo 1 in the console, and then playing back a demo. When the demo playback completes, the console contains an average framerate. If you have problems playing back demos, see ETPro:Client_Configuration
If you want to compare performance between mods, you can use an etmain (or any server only mod such as etpub or shrubet) demo and play it back both in etmain and etpro.
It is important to remember that demo playback is not directly comparable to online play. In general, demo playback depends more on the video card than online play does. A tweak that shows a huge improvement in demo playback may have little effect in online play.
To test performance in real play, you should use cg_drawFPS and then pick a standard location. This will not give you exactly the same results every time, but will show major effects. Ideally, the test should be done on an otherwise empty dedicated server with a consistent ping. If you host the server on the same machine as the client you are testing, this will affect the results.
TODO: it would be nice to have a standard timedemo demo, so people can compare results.
TODO
This page is a draft. The following need to be added or expanded:
- examples of FPS for various typical systems/settings, so people can know if they are getting expected performance out of their hardware.
- more complete list of useful cvars.
- links to config sites.
- links to more detailed descriptions of settings.
- benchmarking