Results 1 to 2 of 2
Thread: CSS Rate Guide
-
01-23-11, 09:41 PM #1
CSS Rate Guide
The Source engine runs internal simulation at a tick interval of 15 msecs (66.67 ticks per second). Each client "usercmd" is a 15 msec timeslice (which makes it possible for prediction to work, since the inputs on both the client and server should result in the same outputs in most cases). The cl_cmdrate ConVar determines how many physical packets per second the client will try and send to the server. Note that this is decoupled from the tick interval. If the cl_cmdrate setting is low, or the client's actual framerate is low, then it's possible that a single physical packet from the client to the server will contain multiple actual "usercmd" payloads. Conversely, if the cl_cmdrate is higher than 66.67, it's possible that some physical packets will be sent to the server without any actual "usercmds" in them. Furthermore, if the client sets a low "rate" setting, then less physical packets could be sent to the server. The frequency of cl_cmdrate updates generally doesn't impact a player's ability to hit opponentopponents, since lag compensation factors in the player's latency to the server and interpolation amount when checking whether shots would have hit opponents.From the server side, the client's cl_updaterate setting determines how often the server will attempt to send a physical packet to the client
The cl_updaterate, cl_interp_ratio, and cl_interp ConVars control interpolation (and lag compensation) in the following relationship. By default, Source games are tuned for an updaterate of 20 packets per second. This leads to an expected delta between packets of 50 msecs. Because packet loss can occur, the interpolator was tuned to allow for a single dropped packet without any hitch in the smoothness of motion perceived by the client. Thus, 100 milliseconds was chosen as the default for cl_interp (0.1 s = 2 x ( 1.0f / cl_updaterate default of 20 ) ). cl_interp_ratio defines the lower "bound" on what the actual interpolation amount used on the client. Specifically, the interpolation amount is: min( max( cl_interp, cl_interp_ratio / cl_updaterate ), 0.25f
If they have a higher updaterate, then a lower interpolation amount can be fine. If they hardly ever have lost packets, I could see living with inter_ratio of 1.0. If they go less than 1.0, then the game will be somewhat stuttery, modulo at a high cl_updaterate with a fast server giving them updates close to the 66 hz max tickrate would make the visual hitching less noticeable. The other thing that impacts packet frequency is the amount of data being sent and the user's rate setting. We will "choke" packets if the rate setting for the client is too low, which will delay them. If they are only interpolating for 1/updaterate seconds, then if there is any choke at all, they will run out of data for interpolation, again causing visual hitching. This is another reason that keeping the default intep_ratio > 1 is good and why 2 is a reasonable compromise. Note that the lag compensation system takes into account the user's computed interpolation amount, so from an aiming point of view it shouldn't matter.
You can find the full article here
//PRO: Best reg, hitboxes better aligned to on-screen model position
//CON: Some other players might have slight reaction time advantage
//lerp in netgraph will be approx. 30 ms
rate "60000"
cl_cmdrate "67"
cl_updaterate "67"
cl_interp "0.030"
cl_interp_ratio "1"
//PRO: Slight player advantage for better reaction time
//CON: Hitboxes not perfect on moving and strafing targets
//lerp in netgraph will be approx. 15 ms
rate "60000"
cl_cmdrate "67"
cl_updaterate "67"
cl_interp "0.015"
cl_interp_ratio "1"
mp_decals 0
cl_autowepswitch "0" // "1" Automatically switches to picked up weapon | "0" Disables
cl_autohelp "0" // "1" Enables in-game help popup | "0" Disables // Sets transparency of cross hair: Smaller number = higher transparency.
cl_crosshairusealpha "0" // "1" Enables cross hair transparency | "0" Disables
cl_dynamiccrosshair "0" // "1" Cross hair expands when you walk | "0" Disables
cl_radaralpha "200" // Sets radar transparency: Smaller number = higher transparency.
cl_radar_locked "0" // "1" Radar turns with player | "0" Radar is locked in position
cl_righthand "1" // "1" Guns held right handed | "0" Guns held left handed
cl_show_achievement_popups "0" // "1" Shows popup for completed achievements | "0" Disables
hud_centerid "1" // "1" Shows player's name under cross hair | "0" Shows name in lower left part of screen
hud_deathnotice_time "4" // Sets number of seconds to display deathnotices (in upper-right corner of screen)
hud_fastswitch "1" // "1" Enables fast weapon switching | "0" Disables
hud_saytext_time 6 // Sets number of seconds to display in-game chat text
net_graph "1" // "1" Enables net_graph | "0" Disables
net_graphheight "70" // Sets net_graph vertical position: Smaller number = lower graph position
net_graphproportionalfont "0" // "1" net_graph text is large | "0" net_graph font is small
net_graphpos "1" // "1" net_graph aligned to right side of screen | "2" middle of screen | "3" left of screen
cl_c4dynamiclight "1" // "1" Enables bigger blinking bomb light | "0" Disables
cl_disablefreezecam "1" // "1" Disables freeze/death cam | "0" Enables.
cl_disablehtmlmotd "1" // "1" Disables HTML Message Of The Day (MOTD) | "0" Enables
cl_downloadfilter "nosounds" // "none" Disables all server downloads | "nosounds" Disables server sound downloads | "all" Enables all downloads
cl_minmodels "1" // "1" Enables minmodels | "0" Disables
cl_min_ct "1" // Sets the CT minmodel | "1" Seal Team 6 | "2" GSG-9 | "3" SAS | "4" GIGN
cl_min_t "2" // Sets the T minmodel | "1" Phoenix Connection | "2" Elite Crew | "3" Arctic Avengers | "4" Guerrilla Warfare
con_enable "1" // "1" Enables developer's console | "0" Disables
jpeg_quality "100" // Sets JEPG screen shot quality.
m_customaccel "0" // Sets a custom acceleration curve | "0" Disables
m_filter "0" // "1" Enables mouse movement filter | "0" Disabl
voice_enable "1" // "1" Enables in-game voice chat transmition and reciept | "O" Disables
zoom_sensitivity_ratio "1.0" // Sets sensitivity ratio for when using a scoped weapon.
cl_ejectbrass "0" // "1" Enables bullet shell casing on ground | "0" disables
cl_forcepreload "1" // "1" Preloads game assets at level start | "0" Disables
fps_max "101" // Sets a cap on the fps allowing for more consistancy. | "0" Removes cap
//mat_dxlevel "95" // Sets DirectX level | "81" DirectX 8 | mat_dxlevel "95" DirectX 9.0c
mat_hdr_enabled 0 // "1" Enbles HDR | "0" Disables
mat_specular "0" // "1" Enables metallic shine on weapons and metal objects | "0" Disables
r_3dsky "0" // "1" Enables 3D sky | "0" Disables
r_sse2 "1" // "1" Enables SSE2 instructions | "0" Disables
cl_cmdrate "66"
cl_interp "0.01"
cl_interp_all "0"
cl_interp_ratio "0.0151515"
cl_lagcompensation "1"
cl_updaterate "66"
rate "60000"
ragdoll_sleepaftertime 0.0f
cl_legacy_crosshair_scale 1
cl_min_t 3
cl_crosshairthickness 1.5
cl_ragdoll_physics_enable "0"
cl_ragdoll_collide "0"
r_cheapwaterend 1 // _worse water rendering_
r_cheapwaterstart 1 // _worse water rendering_
mat_clipz 0 // _lowers water quality_
r_waterforceexpensive 0 // _disables high-quality water_
r_3dnow 1
r_mmx 1
r_sse 1
r_sse2 1
jpeg_quality 100
sv_forcepreload 1
snd_mixahead .1 // _mixes sound ahead to reduce stuttering_
soundscape_fadetime 9999 // _helps lower background noise_
soundscape_flush // _helps lower background noise_
cl_ejectbrass 0 // _disables shells flying out of guns_
cl_forcepreload 1
cl_phys_props_enable 0 // _disables trash and cans etc_
cl_phys_props_max 0 // _disables trash and cans etc_
cl_radartype 1 // _solid radar_
cl_ragdoll_physics_enable 0 // _disables dead bodies_
cl_show_splashes 0 // _disables splashes when in water_
mat_bumpmap 0 // _disables bumpmapping_
mat_clipz 0 // _lowers water quality_
mat_fastnobump 1 // _faster bump mapping_
mat_fastspecular 1 // _fast specular lighting_
mat_mipmaptextures 1 // _texture quality decreases with distance_
mat_picmip 2 // _lower texture quality--set between 0 and 2_
mat_specular 0 // _disables specular lighting_
mat_trilinear 0 // _disables trilinear filtering_
mp_decals 0 // _how many bullets etc will be shown_
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 0 // _disables player sprays_
r_dispfullradius 2
r_drawdetailprops 0
r_drawmodeldecals 0 // _disables decals on models_
r_dynamic 0
r_eyes 0 // _removes eyes from player models_
r_lightaverage 0 // _disables average lighting_
r_lightinterp 0
r_lod 5 // _adjusts model quality--set between -5 and 5_
r_propsmaxdist 100 // _lower object fading distance_
r_RainSplashPercentage 0 // _disables rain splashes_
r_renderoverlayfragment 0
r_rootlod 2 // _lower overall game detail level_
r_shadows 0 // _disables shadows (not recommended)_
r_teeth 0 // _removes teeth from player models_
echo "********************************************* ***"
echo " Savage's Cfg Loaded "
echo "********************************************* ***"
Some other ways to help your fps is to install a Gui. A would recommend the Cevo 2010 GUI. You can download it here
It's coded in .rar so here's a free software to extract it if you dont already have an extractor. A great guide to install made by TPG's very own DuDDy is here. All credit for the GUI installation guide goes to him.
Finally, heres another article I found that helps raise your fps. You can find it here.
Hope this helps some people out and thanks for reading!
-
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks