UPDATED AS OF 10/15/2007
************************
A few things you should do in order to boost FPS:
go to games -> right click on natural selection -> click properties -> click startup options -> and add the line: -dxlevel 95
That will change the directX level to 9.5
You can further increase your FPS by lowering the DirectX level. This will consequently make the game look worse.
You CAN achieve more than 99 FPS. In order to do it type this in console:
developer 1
fps_max xxx (xxx is the amount of fps you want. Mine is at 180. Note that you want to put about 30 more then you get. So testing this is the best way to find the right setting.
I currently get about 150 fps this way.
This is not really required. FPS is determined by the monitor and video card you use as well. For example I have a geforce 7950 GT OC 512 edition PCI-E. This is a relatively decent card and gets me about 120 FPS in Source. I also recently had Vertical Sync enabled. Vertical Sync allows your video card and your monitor to run together. Its easier to say that it will detect the refresh rate of your monitor and automatically reduce the FPS you can achieve in order to make your video card and monitor run together. If your monitor runs at 70 Hertz. you wont be able to achieve more then 70 FPS with vertical sync on. With it off, however, you will be able to achieve a higher FPS. BUT, you will not see a difference. Since your monitor can only run at 70 hertz, you will still have a refresh rate and fps of 70. Even if net_graph 1 says you have 200 fps. It is up to you whether you want to use vertical sync or not.
Vertical sync can be disabled by going into your video card control panel and disabling it under the settings.
Low Poly Packs:
These will also increase your FPS. But if you are having no problems with fps don't download them.
NSA Games - File Info - Low Poly Model Pack V1 NSA Games - File Info - Low Poly Marine Pack
Settings And Tweaking:

Code:
//Sets the maximum size of all textures in the game including walls, player
//models , gun models ect. Default is "512". I use "64". Dont got below "64"
//and always use multiples of 64 , ie 64,128,256,512
gl_max_size "128"
//Another good command for boosting fps , controls rendering quality.The
//following settings are listed in order of speed , first being fastest but poorest
//quality , last being best quality but slowest.
//GL_TEXTUREMODE "GL_NEAREST"
//GL_TEXTUREMODE "GL_LINEAR"
//GL_TEXTUREMODE "GL_NEAREST_MIPMAP_NEAREST"
//GL_TEXTUREMODE "GL_LINEAR_MIPMAP_NEAREST"
//GL_TEXTUREMODE "GL_NEAREST_MIPMAP_LINEAR"
//GL_TEXTUREMODE "GL_NEAREST_MIPMAP_LINEAR"
//GL_TEXTUREMODE "GL_LINEAR_MIPMAP_LINEAR"
//GL_TEXTUREMODE "GL_NEAREST"
GL_TEXTUREMODE "GL_NEAREST"
//Sets the sound quality , 0 being low and best for performance , 1 being
//high and best quality sound. On older computers setting this to 0 can make a
//large difference , but the drop in quality is extremely high
hisound "0"
//A big boost if you find your fps dropping during fire fights. Basically it turns
//off the gun model on screen, so you wont see it. Not good if your a fan of
//custom models but does stop some of the big fps drops in combat. "0" is off , "1" is on
r_drawviewmodel "0"
//Deals with the filling in of cracks between textures or surfaces.Set to "1" and high
//quality will fill them in , set to "0" and fastest it wont , resulting in dots appearing
//between the junctions but more fps
gl_keeptjunctions "0"
//Sets the rendering quality of player models. Can be set at "0" which is best quality but
//slowest, "1" which is medium , and "2" which is worst quality but fastest
gl_playermip "2"
//This set of commands controls displaying of blood.Set to "0" and no blood , improving //fps.Set to "1" and blood will show. I use "0"
violence_ablood "0"
violence_agibs "0"
violence_hblood "0"
violence_hgibs "0"
//Another one that controls texture quality.The lower the number the better quality
//graphics, higher the number the fastest
gl_round_down "100"
//Sets the height of waves in water. 0 being fastest.
gl_wateramp "0"
//Sets the number of decals to be shown. Decals are used to draw bullet holes in walls as
//well as custom tags/sprays.Set to "0" to disable completely , "300" is default
mp_decals "0"
//Sets dynamic lighting(ie reflections ect) , "0" being off and fastest , "1" being on and
//slowest.
r_dynamic "0"
//Similar to dynamic lighting , controls reflections on objects."0" is fastest and off , "1" is
//slowest and on.
r_mirroralpha "0"
//Controls the blending of textures together. "0" is off and looks best but is slowest."1" is
//on and is fastest, however cracks between textures may show.
gl_clear "1"
//Turns dithering on and off. "0" is off , "1" is on. Use 0 for best fps.
gl_dither "0"
//Upper bound on allowable fps I believe.
//With vsinc on
fps_max "100"
fps_modem "100"
//Without vsinc on
fps_max "180"
fps_modem "180"
[/code]