Solving FPS Shortages

This is a Tutorial for Counter-Strike: Source submitted by Majin_DiggZ.

Greetings! Join GameBanana, one of the oldest mod sites, and maximize your browsing experience.

  • Subscribe: Get notified when Majin_DiggZ submits again.
  • Say Thanks: Show your appreciation by sending Majin_DiggZ points.
  • Post: Give Majin_DiggZ your thoughts on this Tutorial.
  • Vote: Help Majin_DiggZ win the Monthly Awards.
  • Rate: Give this Tutorial a rating out of 10.
  • Flag: Alert moderators and warn members of a problem with this Tutorial.
  • Watch: Get notified when this Tutorial is updated.

Sound fun?

Sign up

Already a Bananite? Login

Solving FPS Shortages

Solving FPS Shortages

Hello there, here is my tutorial on how to get your CS Source running alot smoother especially if you have an FPS problem

Start up Commands

First off I would like to direct your attention to the launch set up of your Counter Strike Source. In order to see this and modify it follow these steps:

  1. First open the steam window and click games
  2. now right click on counter strike source and then click properties
  3. A window should pop up
  4. From here click "Set Launch options"
  5. A small window will come up it (should look like screenshot no. 1 except yours will be blank)
Now let me explain, this command line you have in front of you allows you to impose any settings on CSS to execute on boot up, whether it be graphical settings etc.

What we want to do is make our CSS smoother so:

First we set the heapszie, this is crucial if you want your CSS to run as smoothly as possible. Now depending on the ammount of RAM there is in your system you will either set it to:

-heapsize 262144 for 512mb of RAM -heapsize 524288 for 1024mb of RAM -heapsize 1048576 for 2048mb of RAM

The units used for the heapsize are kilobytes (kb) 1024kb = 1mb

The ideal setting is half of your RAM without going over the top. Note: I have tried going over the top and it makes very little difference.

Enter your desired heapsize into the launch options box and we will continue. It should look like the highlighted section of Screen shot 2

If you could grasp that then your off to a good start, the rest should be fairly easy for you.

Next we need to set an optimized directx level for our game to run on. The supoorted dx levels are:

-dxlevel 90 = Directx 9.0 -dxlevel 81 = Directx 8.1 -dxlevel 80 = Directx 8.0 -dxlevel 70 = Directx 7.0

Now I will explain what each of these will do to the game.

-dxlevel 90 This is the default for all directx 9.0 compatible cards, if yours is different please find out what dx level its supports otherwise you might end up with the wrong dx config skewing your CSS performance this level has all of css's features, nothing taken away.

-dxlevel 81 A favourite of mine as it maintains a nice balance between graphics and performance, your models will have less poly's (lower quality) but you will still maintain all the eye candy features like bumapping. (If you have no idea what im talking about just look for things you understand)

-dxlevel 80 very similar to 81 but without the bumpmapping.. no point really unless you are really desperate, will improve smoothness a tad more than 81.

-dxlevel 70 Now this leaves all of the basic eye candy which makes css look decent but improves smoothness phenominally on my old comp I went from 20 - 30 fps to 60 - 100 /w a config not bad eh? I will include my fps config later, if you really need it.

Now select you desired dx level and input it the same way as you did with the heap size (make sure you leave gaps between commands)

Now for some simple commands that should help get as much juice from your computer as possible.

-nosync now this will turn of v_sync v_sync caps your fps to your refresh rate, but in the process usually messes things up, so I prefer to have it off.

-gl this will force open gl mode, recommended for Nvidia graphics cards.

-d3d this will force d3d mode, recommended for ATI cards

-refresh "screen refresh rate" This forces a certain screen refresh rate "the ammount of fps your screen can display" for example -refresh 75 for a 75hz compatible screen.

Note: make sure you know what refresh rates are compatible with your screen before forcing them doing so with an unsupported rate may be catastrophic.

Thats about it for start up commands.

Now go and test your CSS at this point and see if your average FPS or smoothness has improved. If you are still unhappy with your FPS then here is my config. copy and paste it into notepad and save it as a .cfg file in order to do this click "save as" and then pull down the file type menu at the bottom and select "all files" then save it as "Digg.cfg" without speech marks of course. save it in your:

C:\Program Files\Steam\SteamApps\username\counter-strike source\cstrike\cfg

or in some cases:

C:\Program Files\Valve\Steam\SteamApps\username\counter-strike source\cstrike\cfg

Now boot up the game and open your console and type "exec Digg"

it should say "Digg's config loaded"

Now start your game. In my config I have reduced graphics setting but have still maintained basic quality if you dont like it dont use it but dont complain about FPS shortage ;). My config also improves reg by tweaking net settings ;) more the merrier :)

Note: this will help if your system isnt quite up to scratch with the source engine, it exchanges graphics for performance. But if your computer is terrible I cant garuntee smoothness

You can bind my config to your startup by opening the file called autoexec.cfg in your C:\Program Files\Steam\SteamApps\username\counter-strike source\cstrike\cfg folder and putting in the following line "exec Digg" now save it ;) and it will execute upon boot up

If you have any problems or enquieries dont hesitate to PM me or post a message on my profile, i'm willing to help.

The majority of the praise for this config goes to Casey, however, I have modified a few cvars so that it doesn't look too ugly for those of you with lack of FPS

// Casey's Source Config // Updated 6/26/06

// Set netcode settings // adjusts hitboxes and netcode settings for optimal registration

cl_cmdbackup 2 cl_cmdrate 101 cl_interp 0.01 cl_interpolate 1 cl_lagcomp_errorcheck 1 cl_lagcompensation 1 cl_updaterate 101 cl_smooth 1 rate 25000

// Set graphics settings // adjusts graphics settings to boost framerate

cl_ejectbrass 0 // disables shells flying out of guns cl_forcepreload 1 // forces preload to help increase performance cl_phys_props_enable 0 // disables trash and cans etc cl_phys_props_max 0 // disables trash and cans etc cl_ragdoll_physics_enable 1 // disables dead animations and bodies cl_show_splashes 0 // disables splashes when in water fps_max 101 // caps FPS mat_forceaniso 0 // disables anisotropic filtering mat_antialias 0 // disables antialiasing mat_bloomscale 0 mat_bumpmap 0 // disables bumpmapping mat_clipz 1 // disabled non visible object rendering mat_fastnobump 1 // faster bump mapping mat_fastspecular 1 // fast specular lighting mat_mipmaptextures 1 // texture quality decreases with distance mat_hdr_enabled 0 // disables high dynamic range lighting mat_picmip 0 // lower texture quality--set between 0 and 4 mat_reducefillrate 1 // reduces shader fill rate mat_specular 0 // disables specular lighting mat_trilinear 0 // disables trilinear filtering mat_wateroverlaysize 16 // lowers water quality mat_vsync 0 // disables vertical synchronization mp_decals 50 // how many bullets etc will be shown muzzleflash_light 0 // disables muzzleflash r_avglight 0 // disables average lighting r_cheapwaterend 1 // worse water rendering r_cheapwaterstart 1 // worse water rendering r_decal_cullsize 2 // lower texture quality at distance r_decals 200 // disables player sprays r_drawdetailprops 0 // disables detail props r_drawflecks 0 // disables bullet impacts r_drawmodeldecals 0 // disables decals on models r_dynamic 0 // disables dynamic lighting r_eyes 0 // removes eyes from player models r_lightaverage 0 // disables average lighting r_lightinterp 0 // disables light interpolation r_lod 0 // adjusts model quality--set between -5 and 5 r_occlusion 0 // disables occlusion--lowers image quality but gains FPS r_propsmaxdist 100 // lower object fading distance r_renderoverlayfragment 0 r_rootlod 2 // lower overall game detail level r_shadows 1 // set to 0 to disable shadows (not recommended) r_teeth 0 // removes teeth from player models r_waterforceexpensive 0 // disables high-quality water rope_averagelight 0 // disables average lighting on ropes rope_smooth 0 // disables antialiasing on ropes rope_subdiv 0 rope_wind_dist 0 // disables wind effects on ropes

// Set instruction sets // note: verify processor support before enabling

// r_3dnow 1 // enables 3DNow! instruction set // r_mmx 1 // enables MMX instruction set // r_sse 1 // enables SSE instruction set // r_sse2 1 // enables SSE2 instruction set

// Set violence settings // increases blood to help you see hits better

violence_ablood 1 violence_agibs 1 violence_hblood 1 violence_hgibs 1

// Set HUD and xhair settings // adjusts HUD and xhair for easy viewing

cl_crosshairalpha 999 // bright crosshair cl_crosshairusealpha 1 // enables adjustable crosshair brightness cl_c4progressbar 1 // enables C4 progress bar cl_radaralpha 255 // maximum radar brightness cl_radartype 1 // enables solid radar hud_centerid 1 // centers player IDs net_graph 3 // _enables netgraph 3--CAL required! net_graphpos 2 // adjusts netgraph position-set between 1 and 3

// Set various settings

budget_show_history 0 // disables history graph cl_downloadfilter "nosounds" // disables annoying sound downloads jpeg_quality 100 // high quality screenshots mat_monitorgamma 1.6 // maximum ingame brightness net_graph 3 // _enables netgraph 3--CAL required! net_graphpos 2 // adjusts netgraph position-set between 1 and 3 sv_forcepreload 1 // forces preload to help increase performance

clear echo "Digg's config loaded"

UDPDATE 18/09/06

I have found another config that should be run a dxlevel 80 depending on your computer specs, it is a modded version of wally3k's config, it gives a nice balance between GFX and performance, enjoy, Change things like sensitivity etc. to your playing style.

Thank you Wally3k

////Ordered Cvars //Mat mat_forcemanagedtextureintohardware "1" mat_antialias "0" //AA Level, set to 0 if crap graphics card (Below Ati9800/Nvidia6600) mat_forceaniso "2" //AF Level mat_picmip "0" //Texture Level mat_reducefillrate "1" //Shader Detail mat_disable_bloom "1" mat_bumpmap "0" mat_clipz "1" mat_diffuse "1" mat_wateroverlaysize "16" mat_mipmaptextures "1" mat_compressedtextures "1" mat_bloomscale "0"
mat_fastnobump "1" mat_disable_fancy_blending "1" mat_filtertextures "1" mat_fastspecular "1" mat_filterlightmaps "1" mat_disable_lightwarp "1" mat_disable_ps_patch "1" mat_hdr_enabled "0" mat_specular "0" mat_parallaxmap "0" mat_softwareskin "0" mat_softwarelighting "0" mat_forcehardwaresync "0" mat_hdr_level "0"

//Cl cl_phys_props_enable "0" cl_phys_props_max "0" cl_ragdoll_physics_enable "1" cl_ragdoll_collide "0" cl_ejectbrass "0" cl_show_splashes "0" cl_forcepreload "1" cl_showfps "0" cl_downloadfilter "nosounds" cl_allowupload "1" cl_allowdownload "0" cl_autohelp "0" cl_detail_max_sway "0" cl_detail_avoid_recover_speed "0" cl_detail_avoid_force "0" cl_radaralpha "255" //Radar more visible cl_radartype "1" //Set to 1, allows radaralpha to be used cl_autowepswitch "0" cl_c4dynamiclight "1" cl_showtextmsg "1" cl_locationalpha "150" cl_timeout "30" cl_drawmonitors "0" cl_detaildist "0" cl_detailfade "0" cl_wpn_sway_scale "0"

//R r_shadows "1" r_propsmaxdist "0" r_lod "0" //Model Related r_decal_cullsize "0.5" r_spray_lifetime "2" r_waterforceexpensive "0" r_eyemove "0" r_avglight "1" r_rootlod "0" //Model Related r_decals "500" r_drawdetailprops "0" r_drawflecks "0" r_ropetranslucent "0" r_renderoverlayfragment "0" r_lightmap "-1" //r_cheapwaterstart "1" //r_cheapwaterend "1" //r_WaterDrawRefraction "0" //r_WaterDrawReflection "0" r_waterforcereflectentities "0" r_teeth "0" r_flex "0" r_drawmodelstatsoverlaymax "1.5" r_drawmodelstatsoverlaymin "0.1" r_decal_cullsize "0" r_eyes "0" r_eyeglintlodpixels "0" r_eyesize "0" r_eyeshift_z "0" r_eyeshift_y "0" r_eyeshift_x "0" r_eyegloss "0" r_avglightmap "0" r_radiosity "4" r_occlusion "0" r_shadowmaxrendered "16" //Only 16 proper shadows will be rendered, rest will be a blur r_shadowrendertotexture "1" r_worldlightmin "0" r_worldlights "0" r_avglight "0" r_lightaverage "0" r_drawbatchdecals "0" r_dynamic "1" r_maxdlights "0"

r_PhysPropStaticLighting "0" r_visualizeproplightcaching "1" r_pixelvis_partial "0" r_ropebatch "0" r_flashlightmodels "0" r_updaterefracttexture "0" r_phong "0" r_DrawSpecificStaticProp "0" r_flashlightrendermodels "0" r_flashlightrenderworld "0" r_maxnewsamples "3" r_minnewsamples "1" r_ambientfactor "2"

mat_framebuffercopyoverlaysize "16" mat_bloomamount_rate "0" mat_hdr_tonemapscale_max "2" mat_hdroverbrightrange "0"

r_SnowEnable "0" r_SnowParticles "0" r_SnowInsideRadius "0" r_SnowOutsideRadius "0" r_SnowSpeedScale "0" r_SnowPosScale "0" r_SnowFallSpeed "0" r_SnowWindScale "0"

//Rain r_rainalpha "0" r_rainalphapow "0" r_raindensity "0" r_rainlength "0" r_RainProfile "0" r_RainRadius "0" r_RainSideVel "0" r_RainSimulate "0" r_rainspeed "0" r_RainSplashPercentage "0" r_rainwidth "0"

//Voice voice_modenable "1" voice_forcemicrecord "1" voice_enable "1" voice_scale "1" voice_fadeouttime "0" voice_dsound "1"

//Snd snd_duckerthreshold "0.15" snd_duckerreleasetime "2.5" snd_duckerattacktime "0.5" snd_ducktovolume "0.55" snd_mixahead "0.08" snd_musicvolume "1.0" snd_pitchquality "1" snd_flushasync

//Dsp dsp_dist_max "20000.00" dsp_enhance_stereo "1" dsp_dist_min "0.0" dsp_water "14" dsp_slow_cpu "0" dsp_enhance_stereo "0"

//Rope rope_smooth "0" rope_wind_dist "0" rope_smooth "0" rope_averagelight "0" rope_collide "0" rope_subdiv "0" rope_smooth_minalpha "255" rope_smooth_maxalpha "255" rope_smooth_maxalphawidth "0" rope_smooth_enlarge "0" rope_smooth_minwidth "0"

//Violence violence_agibs "1" violence_hgibs "1" violence_hblood "1" violence_ablood "1"

//Ai ai_report_task_timings_on_limit "0" ai_think_limit_label "0"

//Npc npc_height_adjust "1"

//Gl gl_clear "0"

//Lod lod_TransitionDist "0"

//Scene scene_showfaceto "0" scene_showlook "0" scene_showmoveto "0"

//Spec spec_scoreboard "0"

//Commentary commentary_firstrun "0"

//Vprof vprof_unaccounted_limit "0.3" vprof_verbose "1" vprof_graphheight "256"
vprof_graphwidth "512"

//Mp mp_decals "200"

//Fog fog_enable_water_fog "0"

//Mouse m_pitch "0.022" m_filter "0" m_side "0.8" m_yaw "0.022" m_forward "1" m_customaccel "0" m_customaccel_scale "0.04" m_customaccel_max "0" m_customaccel_exponent "1" m_mouseaccel1 "0" m_mouseaccel2 "0" m_mousespeed "1" zoom_sensitivity_ratio 1

//Muzzleflash muzzleflash_light "1"

//Fps fps_max "101"

//Con con_enable "1"

//Adsp adsp_debug "0"

//Props props_break_max_pieces "0" props_break_max_pieces_perframe "0"

//Func func_break_max_pieces "0"

//Jpeg jpeg_quality "90"

//Blink blink_duration "0.0"

//Weapon weapon_showproficiency "0"

//Overview overview_health "1"

//Soundscape soundscape_flush

//Hud hud_fastswitch "0" hud_centerid "1" hud_saytext_time "4" //Time in seconds chat displays on screen hud_deathnotice_time "6"
hud_drawhistory_time "5"

//Network rate "30000" cl_cmdrate "100" cl_updaterate "100" cl_interpolate "1" cl_smooth "1" cl_lagcomp_errorcheck "1" cl_lagcompensation "1" cl_interp "0.01" cl_resend 0.5 cl_smoothtime "0.01" cl_pred_optimize "2" net_maxfragments "1280"

//Netgraph net_graph "0" net_graphpos "120" net_graphheight "730" net_scale "5" net_graphsolid "1" bind "-" "net_graphpos 120; net_graphheight 733; incrementvar net_graph 0 3 3"

//Crosshair cl_crosshairscale "40000" cl_crosshaircolor "0" cl_observercrosshair "1" cl_dynamiccrosshair "0" cl_crosshairalpha "999" cl_crosshairusealpha "1" cl_crosshairalpha "300" cl_crosshaircolor "0" crosshair "1"

//Random sensitivity "10" volume "1.0" suitvolume "1.00" bgmvolume "1.00" closecaption "0" commentary "0"

UPDATE 13/12/06

Another way to increase FPS, is to tweak the settings inside your Nvidia/ATI console:

You can access this via the icon in your bottom right tray, usually double click

  • If you use the casey's config, in Nvidia/ATI console, set your mipmaps to best performance, as there is no difference in quality, due to the config...
  • Disable any anti aliasing, also make sure V sync is not forced.
  • Also if you have ATI you will have the AI setting, set this to max.
  • Also enable all d3d and open gl specific settings. Extensive geometry, triple buffering etc.. you should find them somewhere
Its up to you, have a poke around.

Also, a major killer of FPS is the bad keeping of a Hard drive, make sure you REGULARLY defragment your hard drive.

You do this by:

  1. Going to my computer
  2. Right clicking on the C drive, or whatever drive you use
  3. Clicking Properties
  4. Clicking on the "Tools" tab
  5. Clicking Defragment.
  6. Press analyse, if there is a moderate, or a lot of red on the analysis, press defragment
  7. This will take a while depending on your computer, but it's worth it, it will speed up your computer quite a bit
Also run the Disk cleanup as often as possible.

To do this:

  1. Follow steps 1-3 above
  2. Click disk cleanup
  3. Wait for it to scan your Hard drive
  4. It should automatically select all types of trash that can be deleted without harm, press ok and it will clean the hard drive.
If your feeling adventurous, you can use a registry cleaner, registry becomes a mess when not maintained properly

DO THIS AT YOUR OWN RISK! as registry keys are the very thing that hold your system together.

Some keys become obselete and need to be deleted, NOT FOR NOVICES

You can download a good registry cleaner here, which i've used many times and have had no problems.

It is also a temporary file deleter, it deletes all of the obselete files as well, a bit like Disk clean up but a lot more thourough

Crap Cleaner

UPDATE 18/12/06

A GREAT way to get an amazing looking css, but get another 40fps +!!!

This is the configuration I use:

I have a standard computer:

  • 3Ghz Standard Pentium 4
  • 1 GB of RAM
That really isnt a gaming spec, normally at max settings on CSS, 20 - 30 fps is my framerate,

This is without HDR and at 1024 by 768 res -_-

Now, the config I use, maintains a good looking CS:S, (Max quality mip-maps)

But I get 60 - 80 fps on a FULL server in DUST 2

Refer to Screenshot C for a little look at what Dust 2 looks like

If your specs are anything near mine you will be able to do it:

  1. Defragment your hard drive, and do disk cleanup etc. using the previous intructions above
  2. In the command line, we discussed at the beginning have: -dxlevel 81 -heapsize "Same value as before" -tickrate 66 -nosync
  3. Open up your ATI/Nvidia Console and set mip maps to max quality
  4. Copy and paste the Wally's config, further up in the tut into a blank notepad, save as what ever you want, just MAKE SURE, there are no spaces in the name of the file, and that it is saved with the .cfg file extension discussed earlier

I use "wallypro.cfg"

  • Once this is all done, start CS:S, and type in the console, "exec wallypro"
  • The config will be loaded, and a better CS:S is ready for you
Remember, this all depends on your System, I CANNOT garuntee the same results as me, every computer is different


  • You must be a member


  • ^Tyler^ avatar
    ^Tyler^ Offline
    Member Joined 9 years ago
    Report post
    7 years ago:
    Dude my fps went up like 60 from this! TY

    MetalHead/Raver/CSS Player avatar
    MetalHead/Raver/CSS Player
  • mmatses avatar
    mmatses Offline
    Member Joined 8 years ago
    4,103 points Ranked 1006th
    9 medals 0 legendary, 1 rare
    • 6 years a member Medal icon
    • Reached 1,000 Points Medal icon
    • Reached 2,500 Points Medal icon
    • 1 post awarded Exemplary Feedback Medal icon
    • One month a member Medal icon
    • 6 months a member Medal icon
    Report post
    7 years ago:
    My head hurts :P but yes it is a very nice clear tutorial, i am just too lazy and not too great with computers to know what to do.

    Mapper avatar
  • Beaver_King avatar
    Member Joined 7 years ago
    2,434 points Ranked 1717th
    Report post
    7 years ago:

    Launch option. Runs the game at High CPU priority rather than Normal (check your Task Manager)

    Helpful. :)

    Can I buy you a fish sandwich? avatar
    Can I buy you a fish sandwich?
  • D4QP avatar
    D4QP Offline
    Member Joined 7 years ago
    290 points Ranked 11351st
    Report post
    7 years ago:
    How do i find out which -dx to use

    Wanna fight about it?
  • tayson avatar
    tayson Offline
    Member Joined 7 years ago
    Report post
    7 years ago:
    THX man i go from 10-60 fps to 250-300 fps NICE tut

  • Lucy avatar
    Lucy Offline
    Member Joined 8 years ago
    5,397 points Ranked 758th
    Report post
    7 years ago:
    Posted by YDN_oblivion You missed -dxlevel 60, my tut is shorter and better
    your video is crap and not better it puts loweset settings... not better

  • zialox avatar
    zialox Offline
    Member Joined 8 years ago
    190 points Ranked 15355th
    Report post
    7 years ago:
    Does anyone know the answer to my question? (wikipedia says SSE2 has MMX support, so should I enable both or just SSE2 to increase proformance?)

  • YDN_oblivion avatar
    Member Joined 10 years ago
    1,090 points Ranked 3794th
    Report post
    8 years ago:
  • K0neX avatar
    K0neX Offline
    Member Joined 8 years ago
    Report post
    8 years ago:
    Everything else is good, my FPS was 30 before doing these things, now it is 50-60. Only that one FPS config, u putted there is shitty. I needed to fix that alot, that it was perfect for me. But thanks, anyway.

    EDIT. I made my own configs now, and Fps runs 90-100. :)

  • zialox avatar
    zialox Offline
    Member Joined 8 years ago
    190 points Ranked 15355th
    Report post
    8 years ago:
    wikipedia says SSE2 has MMX support, so should I enable both or just SSE2 to increase proformance?



Shareable Image:
Share banner
HTML embed code:
BB embed code:
Markdown embed code:

More embeddable images

Bookmark and Share
About this module
This module lists all those involved in the creation of this Tutorial.


Key Authors
Majin DiggZ


Majin_DiggZ avatar
Member Joined 10 years ago
3,907 points Ranked 1059th

About this module
This module lets you send a private message to the submitter (Majin_DiggZ).
About this module
This module displays what game this Tutorial is for.


About this module
This module displays this Tutorial's category.



Difficulty Level


Date Added
10 years ago
Jun 28 2006 @ 8:29pm UTC
Date Modified
6 years ago
Feb 22 2010 @ 11:43am UTC
About this module
This module shows the average user rating of this Tutorial.


9.6 Expert+++
About this module
This module shows how the ratings are dispersed among the criteria.

Ratings Breakdown

Overall 9.6 30 7 to 10