Solving FPS Shortages

Hello world. We are one of the oldest mod sites on the Interwebs. Sign up and maximize your browsing experience.

  • Subscribe: Get notified of new submissions like this.
  • 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.

Resistance is futile...

Sign up

Already a Bananite? Login

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 net_graph 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 net_graph 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
FOR EXAMPLE 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 Enjoy


  • 8y
    ^Tyler^ avatar
    ^Tyler^ Offline
    Member Joined 10y
    Dude my fps went up like 60 from this! TY
    MetalHead/Raver/CSS Player avatar
    MetalHead/Raver/CSS Player
  • 8y
    mmatses avatar
    mmatses Offline
    Member Joined 9y
    4,151 points Ranked 1093rd
    10 medals 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
    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
  • 8y
    Beaver_King avatar
    Member Joined 8y
    2,434 points Ranked 1916th

    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?
  • 8y
    D4QP avatar
    D4QP Offline
    Member Joined 9y
    290 points Ranked 13383rd
    How do i find out which -dx to use
    Wanna fight about it?
  • 9y
    tayson avatar
    tayson Offline
    Member Joined 9y
    THX man i go from 10-60 fps to 250-300 fps NICE tut
  • 9y
    Lucy avatar
    Lucy Offline
    Member Joined 9y
    5,397 points Ranked 840th
    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
  • 9y
    zialox avatar
    zialox Offline
    Member Joined 9y
    190 points Ranked 18265th
    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?)
  • 9y
    YDN_oblivion avatar
    Member Joined 12y
    1,090 points Ranked 4279th
    You missed -dxlevel 60, my tut is shorter and better
  • 9y
    K0neX avatar
    K0neX Offline
    Member Joined 9y
    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. :)
  • 9y
    zialox avatar
    zialox Offline
    Member Joined 9y
    190 points Ranked 18265th
    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


Key Authors
Majin DiggZ


Majin_DiggZ avatar
Member Joined 12y
3,907 points Ranked 1163rd

Send a Private Message to the submitter



Difficulty Level
Beginner Difficulty



Date Added
Date Modified
7y tracking pixel