Untitled diff

Created Diff never expires
130 removals
476 lines
190 additions
528 lines
// Unexplained crashes? Try changing mat_queue_mode to `-1'.
// mat_queue_mode -1 will select multithread mode if you can use it, no need to touch it
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Comanglia' frames config inspired by chris, designed to get you a large performance boost
// Comanglia' config inspired by chris, updated by mastercoms, maintained by sage
// v1.8beta | March 2017 | https://dl.dropboxusercontent.com/u/92187841/gfx.cfg
// December 2017 https://gist.github.com/mastercoms/f54f6476e0f2e4bdcf860ef902f1f93f
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Launch options:
// Launch options: -console -novid -nojoy -nosteamcontroller -noff -nohltv -softparticlesdefaultoff
// You don't have to remove -dxlevel from the launch options after the first launch!
// Remove -dxlevel from the launch options after the first launch for faster Alt-tabbing.
//
//
// Fullscreen: -dxlevel 81 -full -w WIDTH -h HEIGHT -console -novid
//
// Windowed: -dxlevel 81 -sw -w WIDTH -h HEIGHT -console -noborder -novid
// -nojoy -nosteamcontroller -noff -nohltv // Joystick, steamcontroller, force feedback and HLTV modules.
// // Disabling these can give up to 2% FPS boost
//
// GRAPHICAL
// -softparticlesdefaultoff : disable depth blending for particles and sprites, more FPS
// -disable_d3d9_hacks : disables some Source engine workarounds for dx9. Creates an odd fog effect. Small FPS boost.
// -nops2b : Use pixel shaders 2.0 instead of 2.0b, results in thicker fog and messes up world lighting and shadows.
//
// NETWORK
// -reuse : allow network sockets to be reused when busy (sets SO_REUSEADDR), better network performance
// -usetcp : allow usage of TCP where it would be more optimal than UDP, better network performance
//
// MONITOR
// -nogammaramp : override in-game gamma with your desktop's settings. If you have an .icc calibration profile for you monitor you'll want this.
// -w and -h : Resolution width and height respectivelly, for example "-w 1920 -h 1080"
// -refresh : Set your refresh rate manually, for example "-refresh 144"
// -full : Force fullscreen mode
// -sw : Force window mode.
// -noborder : Force noborder window mode.

// SOUND
// -primarysound : Don't use a secondary sound buffer, small FPS boost. Should be used with -snoforceformat.
// -snoforceformat : Skips force setting of sound buffer format, small FPS boost. Should be used with -primarysound.
// -nostartupsound : disable game music on main menu
//
// NICHE/USELESS
// -useforcedmparms -noforcemaccel -noforcemspd // All of these are outdated and don't matter anymore
// -useforcedmparms -noforcemaccel -noforcemspd // All of these are outdated and don't matter anymore
// -nosound : disables sound, no performance boost unless your drivers are slow
// -small : allow for resolutions smaller than 640x480

//
//
// DX Levels
// DX Levels
// -dxlevel 80, -dxlevel 81, -dxlevel 90, -dxlevel 91, -dxlevel 95, -dxlevel 98
// DirectX 8: Disables weapon skins
// if you can use -dxlevel 81 USE IT your fps will be significantly more stable, some Nvidia users may experience a weird strobing effect
// -dxlevel 80 : Unstable and causes many visual glitches. Not recommended.
// (some series of outdated nvidia drivers remove this affect)
// -dxlevel 81 : Most stable dx8 mode. Few visual glitches.
//
// DirectX 9:
// -dxlevel 90 : Shader Model 2
// -dxlevel 92 : OpenGL dxlevel (Linux and macOS)
// -dxlevel 95 : Shader Model 3 (recommended)
// -dxlevel 98 : DirectX 9Ex. Best looking one. A few DX10 features.
// -dxlevel 100: DirectX 9Ex but no support fallbacks.
//
// DX9 uses your GPU more effectively and is more optimized but DX8 disables many effects and particles.
//
// NVIDIA USERS: Modern nvidia drivers can cause a wierd strobing effect on DX8.
// RADEON USERS: Modern AMD drivers won't show rocket trails under DX8.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// FPS cap
// FPS cap
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// The primary benefit of an FPS cap is to make the FPS more stable, other than
// The primary benefit of an FPS cap is to make the FPS more stable, other than
// that, it doesn't do a lot. A moderate, consistent framerate is much more
// that, it doesn't do a lot. A moderate, consistent framerate is much more
// desirable than a variable but sometimes high framerate. A common
// desirable than a variable but sometimes high framerate. A common
// misconception is that if any more frames are generated than your monitor can
// misconception is that if any more frames are generated than your monitor can
// display, they are useless. This is wrong -- frames are used for much more
// display, they are useless. This is wrong -- frames are used for much more
// than mere display, and affect the way the game feels well past your
// than mere display, and affect the way the game feels well past your
// refresh rate.
// refresh rate.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
cl_showfps 0 // Turning this FPS meter on actually decreases fps by about 3%-4%
cl_showfps 0 // Turning this FPS meter on actually decreases fps by about 3%-4%
fps_max 0 // fps caps on PCs that consistently meet that cap causes horrible input lag when attempting to turn/aim
fps_max 0 // There is currently a bug on some systems which caps FPS to a much lower value with fps_max 300
//fps_max 132 // I'm leaving this in here though because some PCs (usually laptops) tend to overheat and have microstutters without frame caps.
//fps_max 300 // Input lag does not happen with an FPS cap as far as I can tell, and Source is better off with a frame cap of 300 due to some systems assuming FPS will not be higher than 300
// You might want a lower cap if you have overheating issues, mainly in laptops.
sv_cheats 0
sv_cheats 0


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Net settings
// Net settings
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Whilst net settings perhaps aren't an integral part of an FPS config, they
// Whilst net settings perhaps aren't an integral part of an FPS config, they
// are a fact of life in competitive TF2, and as such, they are included here.
// are a fact of life in competitive TF2, and as such, they are included here.
//
//
// A common question I am asked -- what defines whether a good connection is
// A common question I am asked -- what defines whether a good connection is
// good or bad? Mostly personal preference. If you're not willing to make the
// good or bad? Mostly personal preference. If you're not willing to make the
// choice, try both and see which is better for you.
// choice, try both and see which is better for you.
//
//
// Generally, meeting both of the following conditions would classify it as a
// Generally, meeting both of the following conditions would classify it as a
// good connection:
// good connection:
//
//
// - Ping of <80 to the average server you join
// - Ping of <80 to the average server you join
// - Generally no/negligible choke/loss (can be checked with `net_graph')
// - Generally no/negligible choke/loss (can be checked with `net_graph')
//
//
// There's some pretty good documentation on this here:
// There's some pretty good documentation on this here:
// http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
// http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
//
//
// Uncomment (remove the `//' from) one of the groups if you want to use them.
// Uncomment (remove the `//' from) one of the groups if you want to use them.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Good connection
// Good connection
cl_cmdrate 67 // The tricks to get 1.4ms lerp are placebo you're still forced to .0152
cl_cmdrate 66 // Your framerate should always be higher than your cmdrate.
cl_interp .033 // change to whatever you like for certain classes projectiles/popping uber/flames = .0152 hitscan = .031 on bad connections = .062
cl_updaterate 66 // Rate at wich you receive updates from the server.
cl_interp 0 // By setting this higher than cl_interp_ratio / cl_updaterate,
// you are slightly increasing your interp for no reason.
// Also, interp is mostly preference at lower values
// and depends on how stable your connection is.
cl_interp_ratio 1
cl_interp_ratio 1
cl_lagcompensation 1
cl_lagcompensation 1 // Ensure lag compensation is turned on
cl_pred_optimize 2
cl_pred_optimize 1 // Mode 1 because 2 has a bug currently.
cl_smooth 0
cl_smooth 1 // Smooths your view to prevent it jumping around.
cl_smoothtime 0.01
cl_smoothtime 0.07 // Smooth out view for 0.07 seconds
cl_updaterate 67 // The tricks to get 1.4ms lerp are placebo you're still forced to .0152
rate 80000 // Affects how many packets you can send out
rate 60000 // anything above 62,000 is completely useless, anything above 48,000ish is useless in HL
net_compresspackets 1 // Compress packets to prevent split packets

net_splitrate 2 // Split 2 packets per frame, reduces choke
// Competitive connection // Very few servers will have these settings
//cl_cmdrate 128
//cl_interp .007 // this will likely have to be user defined .007 should be roughly the lowest interp, hit scan might do well at .0152 for this
//cl_interp_ratio 1
//cl_lagcompensation 1
//cl_pred_optimize 2
//cl_smooth 0
//cl_smoothtime 0.01
//cl_updaterate 128
//rate 90000 // With higher tick rates you have more bandwidth being used


// Bad connection
// Bad connection
//cl_cmdrate 40
//cl_cmdrate 40
//cl_interp 0
//cl_updaterate 40
//cl_interp_ratio 2
//cl_interp 0.033
//cl_interp_ratio 2 // Fix lag when experiencing packet loss, 3 or 4 for lots of packet loss
//cl_lagcompensation 1
//cl_lagcompensation 1
//cl_pred_optimize 2
//cl_pred_optimize 1 // Use optimization mode 1 because 2 has a bug currently
//cl_smooth 0
//cl_smooth 1
//cl_smoothtime 0.01
//cl_smoothtime 0.07 // Smooth out view for 0.07 seconds
//cl_updaterate 40
//rate 80000
//rate 35000
//net_compresspackets 1 // Compress packets to prevent split packets
//net_splitrate 4 // Split 4 packets per frame, reduces choke but is more CPU intensive




// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Sprays
// Sprays
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Bear in mind that these are disabled on war servers due to `sv_pure 2'
// Bear in mind that these are disabled on war servers due to `sv_pure 2'
// anyway, so if you play competitive TF2, this won't help you.
// anyway, so if you play competitive TF2, this won't help you.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Disable sprays
// Disable sprays
cl_playerspraydisable 1
cl_playerspraydisable 1
r_spray_lifetime 0
r_spray_lifetime 0


// Enable sprays -- uncomment this section if you want these settings
// Enable sprays -- uncomment this section if you want these settings
//cl_playerspraydisable 0
//cl_playerspraydisable 0
//r_spray_lifetime 2
//r_spray_lifetime 2


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Shadows
// Shadows
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Disable shadows
// Disable shadows
r_shadowmaxrendered 0
r_shadowmaxrendered 0
r_shadowrendertotexture 0
r_shadowrendertotexture 0
r_shadows 0
r_shadows 0
nb_shadow_dist 0
nb_shadow_dist 0


// Enable shadows -- I highly recommend keeping them off if you're frequently near or below the refresh rate of your monitor as you'll lose about 15-20% of your framerate
// Enable shadows -- Lowers your framerate 15-20%
//mat_shadowstate 1
//r_shadowmaxrendered 11 // Enough shadows for 6s
//r_shadowmaxrendered 11
//r_shadowmaxrendered 17 // Enough shadows for HL
//r_shadowrendertotexture 1 // Non-blobby shadows. Sometimes turned on by
//r_shadowrendertotexture 1 // Non-blobby shadows. Sometimes turned on by
// competitive TF2 players to see opponents standing
// competitive TF2 players to see opponents standing
// near the other side of a wall. You may see some
// near the other side of a wall. You may see some
// performance loss from setting this to `1'.
// performance loss from setting this to `1'.
//r_shadows 1
//r_shadows 1
//nb_shadow_dist 400
//nb_shadow_dist 200 // Optimized shadow distance, can lower this for better performance


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Facial features
// Facial features
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Disable facial features
// Disable facial features
r_eyes 0
r_eyes 1 //enable dead emotionless eyes
r_flex 0
r_flex 0
r_lod 2
//r_lod 2 // Setting r_lod 2 will cause all models to be at their second LOD level and will not let them go down to their third or lower quality LOD levels when they are small enough to do so
r_lod -1 // -1 will use r_rootlod to determine how much LOD should be offset by, so that models can properly decrease quality even more.
r_rootlod 2
r_rootlod 2
r_teeth 0
r_teeth 0
r_eyemove 0
r_eyemove 0
r_eyeshift_x 0
r_eyeshift_x 0
r_eyeshift_y 0
r_eyeshift_y 0
r_eyeshift_z 0
r_eyeshift_z 0
r_eyesize 0
r_eyesize 0
blink_duration 0
blink_duration 0.001 // 0 causes a divide by zero exception



// Enable facial features -- turning them on lowers framerate by 5ish%
// Enable facial features -- turning them on lowers framerate by 5ish%
//r_eyes 1
//r_eyes 1
//r_flex 1
//r_flex 1
//r_lod 1 // Needs to be set to 1, otherwise they will still be disabled.
//r_lod 1 // Needs to be set to 1, otherwise they will still be disabled.
//r_rootlod 1
//r_rootlod 1
//r_teeth 1
//r_teeth 1
//blink_duration 0.2 // Duration of an eye blink. Do not set to 0.



// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Ragdolls
// Ragdolls
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// You will have reduced performance on deaths which produce ragdolls.
// You will have reduced performance on deaths which produce ragdolls.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Disable ragdolls
// Disable ragdolls
cl_ragdoll_fade_time 0
cl_ragdoll_fade_time 0
cl_ragdoll_forcefade 1
cl_ragdoll_forcefade 1
cl_ragdoll_physics_enable 0
cl_ragdoll_physics_enable 0
g_ragdoll_fadespeed 0
g_ragdoll_fadespeed 10000 // Rate at which ragdolls fade.
g_ragdoll_lvfadespeed 0
// Setting it to 0 means that it will fade by 0
// every frame and thus causes a memory leak
g_ragdoll_lvfadespeed 10000 // Same thing as above, but this is when low violence mode is enabled
ragdoll_sleepaftertime 0
ragdoll_sleepaftertime 0


// Enable ragdolls -- lowers by 10ish%
// Enable ragdolls -- lowers by 10ish%
//cl_ragdoll_fade_time 15
//cl_ragdoll_fade_time 15
//cl_ragdoll_forcefade 0
//cl_ragdoll_forcefade 0
//cl_ragdoll_physics_enable 1
//cl_ragdoll_physics_enable 1
//g_ragdoll_fadespeed 600
//g_ragdoll_fadespeed 600
//g_ragdoll_lvfadespeed 100
//g_ragdoll_lvfadespeed 100
//ragdoll_sleepaftertime "5.0f"
//ragdoll_sleepaftertime "5.0f"


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Gibs
// Gibs
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// You will have reduced performance on deaths which produce gibs.
// You will have reduced performance on deaths which produce gibs.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------


// Disable gibs
// Disable gibs
cl_phys_props_enable 0
cl_phys_props_enable 0
cl_phys_props_max 0
cl_phys_props_max 0
props_break_max_pieces 0
props_break_max_pieces 0
r_propsmaxdist 1
r_propsmaxdist 1
violence_agibs 0
violence_agibs 1 // Do not set any of the violence CVars to 0, or else low violence mode will be enabled! Low violence mode reduces FPS
violence_hgibs 0
violence_hgibs 1 // Do not set any of the violence CVars to 0, or else low violence mode will be enabled! Low violence mode reduces FPS

// Low violence mode lowers FPS.
// Enable gibs -- 6-7% less framerate
// Enable gibs -- 6-7% less framerate
//cl_phys_props_enable 1
//cl_phys_props_enable 1
//cl_phys_props_max 128
//cl_phys_props_max 128
//props_break_max_pieces -1
//props_break_max_pieces -1
//r_propsmaxdist 1000
//r_propsmaxdist 1000
//violence_agibs 1
//violence_agibs 1
//violence_hgibs 1
//violence_hgibs 1


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Graphical
// Graphical
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Now we come to the main brunt of the config. You probably don't want to mess
// Now we come to the main brunt of the config. You probably don't want to mess
// with this.
// with this.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
building_cubemaps 1 // Disables various post processing effects
prop_active_gib_limit 0
prop_active_gib_limit 0
props_break_max_pieces_perframe 0
props_break_max_pieces_perframe 0
fov_desired 90
fov_desired 90
cl_hud_playerclass_use_playermodel 0 // adds another hud element -3% frames
cl_hud_playerclass_use_playermodel 0 // adds another hud element -3% frames
r_rimlight 0 // "Baby lotion" lighting on models. Rimlight uses GPU only
mat_phong 0 // some people don't like this on I prefer it on for sniper though
mat_phong 0 // some people don't like this on I prefer it on for sniper though
cl_muzzleflash_dlight_1st 0
cl_muzzleflash_dlight_1st 0
cl_detaildist 0
cl_detaildist 0
cl_detailfade 0
cl_detailfade 0
cl_drawmonitors 0
cl_drawmonitors 0
cl_ejectbrass 0
cl_ejectbrass 0
cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones
cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones
cl_new_impact_effects 0
cl_new_impact_effects 0 // Use the old particle system which is lighter
cl_show_splashes 0
cl_show_splashes 0 // Disable water splashes
cl_rumblescale 0
cl_rumblescale 0
cl_showhelp 0
cl_showhelp 0
cl_showpluginmessages 0
cl_showpluginmessages 0
cl_debugrumble 0
cl_debugrumble 0
func_break_max_pieces 0
func_break_max_pieces 0
glow_outline_effect_enable 0 // Cart glow effect.
glow_outline_effect_enable 0 // Disable xray outlines to save frames
lod_transitiondist 0
//lod_transitiondist 0
//mat_antialias 1 // apparently having this in config can break the mumble overlay for some users
lod_transitiondist -1 // 0 causes fade LODs to fade across 0 units, which causes an error. It is best to set this to -1, which lowers the distance fade LODs can be seen and also fades them across 1 unit
//mat_antialias 0 // having this in config can break the mumble overlay
mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause
mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause
// a strange `shine' effect to appear on all players. - Chris
// a strange `shine' effect to appear on all players. - Chris
// In the past I wasn't able to prove that disabling this was significant,
// In the past I wasn't able to prove that disabling this was significant,
// it effects fps by about 1% after several checks - Comanglia
// it effects fps by about 1% after several checks - Comanglia
mat_colcorrection_disableentities 1
mat_colcorrection_disableentities 1
mat_colorcorrection 0
mat_colorcorrection 0
mat_disable_bloom 1
mat_disable_bloom 1
mat_disable_fancy_blending 1
mat_disable_fancy_blending 1
mat_disable_lightwarp 1
mat_disable_lightwarp 1
mat_envmapsize 8
mat_envmapsize 8
mat_envmaptgasize 8
mat_envmaptgasize 8
mat_filterlightmaps 1
mat_filterlightmaps 1 //toggle this on/off while in a server to get "minecraft" textures
mat_filtertextures 1
mat_filtertextures 1
mat_forceaniso 1
mat_forceaniso 1 // Anisotropic filtering
mat_hdr_level 0
mat_hdr_level 0
mat_autoexposure_max 0
mat_autoexposure_max 0
mat_autoexposure_min 0
mat_autoexposure_min 0
mat_bloomscale 0
mat_bloomscale 0
mat_bloom_scalefactor_scalar 0
mat_bloom_scalefactor_scalar 0
mat_debug_postprocessing_effects 0
mat_debug_postprocessing_effects 0
mat_debugdepth 0
mat_debugdepth 0
mat_postprocessing_combine 0
mat_postprocessing_combine 0
mat_non_hdr_bloom_scalefactor 0
mat_non_hdr_bloom_scalefactor 0
mat_bufferprimitives 1
mat_bufferprimitives 1
mat_compressedtextures 1
mat_compressedtextures 1
mat_forcemanagedtextureintohardware 0
//mat_forcemanagedtextureintohardware 0 // There's no need to set this in the config. TF2 will determine if it is appropriate to use it or not.
mat_framebuffercopyoverlaysize 0
mat_framebuffercopyoverlaysize 0
mat_hdr_enabled 0
mat_hdr_enabled 0
mat_hdr_manual_tonemap_rate 0
mat_hdr_manual_tonemap_rate 0
mat_mipmaptextures 0 // ***
mat_mipmaptextures 0 // ***
//mat_mipmaptextures 1 // Don't disable mipmapping on textures, it is a performance decrease for all textures in a scene, especially ones further away
mat_showlightmappage -1
mat_showlightmappage -1
mat_softwarelighting 0
mat_softwarelighting 0
mat_software_aa_blur_one_pixel_lines 0
mat_software_aa_blur_one_pixel_lines 0
mat_software_aa_edge_threshold 9
mat_software_aa_edge_threshold 9
mat_software_aa_quality 0// was 9
mat_software_aa_quality 0// was 9
mat_software_aa_strength 0
mat_software_aa_strength 0
mat_software_aa_strength_vgui 0
mat_software_aa_strength_vgui 0
mat_software_aa_tap_offset 0
mat_software_aa_tap_offset 0
mat_software_aa_quality 0
mat_software_aa_quality 0
mat_texture_limit -1
mat_texture_limit -1
mat_use_compressed_hdr_textures 0
//mat_use_compressed_hdr_textures 0 // Disable compressed HDR textures when HDR is on.
mat_use_compressed_hdr_textures 1 // Helps if HDR is on. If HDR is off it does nothing.
mem_max_heapsize 2048
mem_max_heapsize 2048
mod_forcedata 1
//mod_forcedata 1
mod_forcedata 0 // Enabling this causes models to not be loaded async
mod_forcetouchdata 1
mod_forcetouchdata 1
mat_max_worldmesh_vertices 512
//mat_max_worldmesh_vertices 512
mat_monitorgamma 2.2 // Controls brightness, try 1.8 to make it brighter or 2.2
mat_max_worldmesh_vertices 1024 // The lowest Source will do is 1024
//mat_monitorgamma 2.2 // Controls brightness, try 1.8 to make it brighter or 2.2
// to get it darker. Only works in fullscreen.
// to get it darker. Only works in fullscreen.
mat_parallaxmap 0
mat_picmip 2 // Higher = more mipmapping. Without `sv_cheats 1', you're looking
mat_picmip 2 // Higher = more mipmapping. Without `sv_cheats 1', you're looking
// at a range from -1 to 2, -1 being the best quality, 2 being the
// at a range from -1 to 2, -1 being the best quality, 2 being the
// worst. - Doesn't really matter much what you set this too if you're cpu bound
// worst. - Doesn't really matter much what you set this too if you're cpu bound
mat_reducefillrate 1
mat_reducefillrate 1
mat_reduceparticles 1
mat_reduceparticles 1
mat_specular 1 // Controls specularity. Setting this to 0 will make ubers
mat_specular 1 // Controls specularity. Setting this to 0 will make ubers non-shiny,
// non-shiny, and will remove some specular effects from in-game
// and will remove some specular effects from in-game entities.
// entities which support it. - Setting this to 0 while trilinear is off lowers framerate for reasons I don't understand
// Setting this to 0 while trilinear is off lowers framerate for reasons I don't understand -Comanglia
mat_trilinear 1
mat_trilinear 1
mat_viewportscale 1 // Almost no performance gain from viewport upscaling.
mat_viewportscale 1 // Almost no performance gain from viewport upscaling.
mat_viewportupscale 1
mat_viewportupscale 1
mat_wateroverlaysize 1
mat_wateroverlaysize 1
mp_decals 9 // - Just keep this below 60ish and you shouldn't notice much different at all maybe .5 average fps for every 30-40 decals
mp_decals 9 // - Just keep this below 60ish and you shouldn't notice much different at all maybe .5 average fps for every 40 decals
r_3dsky 0
r_3dsky 0
r_ambientboost 0
r_ambientboost 0
r_ambientfactor 0
r_ambientfactor 0
r_ambientmin 0
r_ambientmin 0
r_cheapwaterend 1
r_cheapwaterstart 0 // Use cheap water as much as possible
r_cheapwaterstart 1
r_cheapwaterend 0.1 // Use cheap water as much as possible
r_decals 9
r_decals 9
r_maxmodeldecal 9
r_maxmodeldecal 9
r_decalstaticprops 0
r_decalstaticprops 0
r_decal_cullsize 15
r_decal_cullsize 15
r_drawdetailprops 0
//r_decal_cullsize 20 // You can increase the cullsize even more
r_drawmodeldecals 0
r_drawdetailprops 0 // Disable detail props like sprites, grass...
r_drawflecks 0
r_drawmodeldecals 0 // Disable blood decals on bodies. Will prevent
r_dynamic 0
// new objects to be created that decals apply onto.
r_drawflecks 0 // Do not create particle systems when things hit surfaces,
// increases FPS and reduces distractions
r_dynamic 0 // Disable dynamic lighting (muzzle flash lighting, explosions and other lighted effects)
r_entityclips 0 // Skip clipping entities, saves CPU time
r_flashlightdepthtexture 0
r_flashlightdepthtexture 0
r_forcewaterleaf 1
r_forcewaterleaf 1
r_lightaverage 0
r_lightaverage 0 // Lighting job that uses a lot of CPU
r_maxnewsamples 0
r_maxnewsamples 0
r_maxsampledist 1
r_maxsampledist 1
r_bloomtintb 0
r_bloomtintb 0
r_bloomtintexponent 0
r_bloomtintexponent 0
r_bloomtintg 0
r_bloomtintg 0
r_bloomtintr 0
r_bloomtintr 0
r_occlusion 1
//r_occlusion 0 // Use less CPU at the cost of a bit more GPU usage
r_occlusion 1 // Use CPU to have the GPU skip rendering models/props you cannot see
r_pixelfog 1
r_pixelfog 1
r_propsmaxdist 0
r_propsmaxdist 0
r_renderoverlayfragment 0
r_renderoverlayfragment 0 // Disables some decals of paintings in walls.
r_staticprop_lod 4
r_staticprop_lod 4
//r_staticprop_lod 63 // You can decrease the LOD even more
r_waterdrawreflection 0
r_waterdrawreflection 0
r_waterdrawrefraction 1
r_waterdrawrefraction 1
r_waterforceexpensive 0
r_waterforceexpensive 0
r_waterforcereflectentities 0
r_waterforcereflectentities 0
r_drawtracers_firstperson 0 // should give a small fps boost in 1st person
r_drawtracers_firstperson 0 // should give a small fps boost in 1st person
r_dopixelvisibility 0
r_dopixelvisibility 0
r_drawbatchdecals 0
r_drawbatchdecals 0
r_hunkalloclightmaps 0
//r_hunkalloclightmaps 0
r_lightcache_zbuffercache 0
r_hunkalloclightmaps 1 // Use a proper memory store for lightmaps
r_PhysPropStaticLighting 0
//r_lightcache_zbuffercache 0
rope_averagelight 0
r_lightcache_zbuffercache 1 // Use zcache from map data
//r_PhysPropStaticLighting 0
r_PhysPropStaticLighting 1 // Use static lighting for props instead of baking lighting data for them on the fly
//rope_averagelight 0
rope_averagelight 1 // When 0, this will do an extra calculation on top
// of the already done lighting computations to get
// the max intensity of the lighting
rope_collide 0
rope_collide 0
rope_rendersolid 0
rope_rendersolid 0
rope_shake 0
rope_shake 0
rope_smooth 0
rope_smooth 0
rope_subdiv 0
rope_subdiv 0
rope_wind_dist 0
rope_wind_dist 0
tf_particles_disable_weather 1 // Disable weather effects on maps supporting
tf_particles_disable_weather 1 // Disable weather effects on maps supporting
// it, for example, setting this to `1'
// it, for example, setting this to `1'
// disables rain effects on *_sawmill.
// disables rain effects on *_sawmill.
tracer_extra 0
tracer_extra 0
violence_ablood 1 // framerates on -most- pcs are higher with these on
violence_ablood 1 // alien and halloween blood. framerates on -most- pcs are higher with these on
violence_hblood 1
violence_hblood 1 // red blood. framerates on -most- pcs are higher with these on
mat_motion_blur_enabled 0 // just incase anyone has this added before loading my cfg
mat_motion_blur_enabled 0 // just incase anyone has this added before loading my cfg
mat_motion_blur_forward_enabled 0
mat_motion_blur_forward_enabled 0
mat_motion_blur_strength 0
mat_motion_blur_strength 0
r_worldlightmin 0.0001
r_worldlightmin 0.0004 // Do not render insignificant world lighting
r_worldlights 0
r_worldlights 0
mp_usehwmmodels -1
mp_usehwmmodels -1
mp_usehwmvcds -1
mp_usehwmvcds -1


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Misc
// Misc
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
in_usekeyboardsampletime 0
//in_usekeyboardsampletime 0
in_usekeyboardsampletime 1 // This does not delay keyboard input at all, only makes keyboard movement input more reliable
mat_clipz 1 // FX card users should set this to 0
mat_clipz 1 // FX card users should set this to 0
mat_forcehardwaresync 0
mat_forcehardwaresync 0
mat_levelflush 1
mat_levelflush 1
m_rawinput 1 // Turn on raw mouse input. Commented out by default due to
m_rawinput 1 // Enable raw mouse input.
// silly incompatibility with the Xfire overlay. You should use
// it if you can! - WHO USES XFIRE ANYMORE?
mat_vsync 0 // Turn off vsync to avoid nasty I/O latency.
mat_vsync 0 // Turn off vsync to avoid nasty I/O latency.
r_fastzreject -1 // Values >1 enable a fast Z rejection algorithm, to be
r_fastzreject 0
// performed on the GPU (as opposed to on the CPU). The
//r_fastzreject 1 // Has the CPU help render the image for the GPU. Not worth it for any good GPU.
// value `-1' autodetects hardware support for this
// Recommended for Intel HD or any other integrated graphics
// feature, which is safer than forcing it.

ai_expression_optimization 1
ai_expression_optimization 1
fast_fogvolume 1
fast_fogvolume 1
host_thread_mode 0 // Not exactly stable
host_thread_mode 1 // Turn this to 0 if you want to create a local server
mod_load_anims_async 1
mod_load_anims_async 1
mod_load_mesh_async 1
mod_load_mesh_async 1
mod_load_vcollide_async 1
mod_load_vcollide_async 1
con_enable 1
con_enable 1
con_filter_enable 1
con_filter_enable 1
con_filter_text_out particle
con_filter_text_out particle
datacachesize 256


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Sound
// Sound
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// I'd be hesitant to say that you would see a great deal of performance
// I'd be hesitant to say that you would see a great deal of performance
// improvement from lowering the sound quality, but in my experience as a
// improvement from lowering the sound quality, but in my experience as a
// competitive TF2 player, lowering the sound quality makes determination of
// competitive TF2 player, lowering the sound quality makes determination of
// directionality and distance that much easier. You may see a small FPS gain
// directionality and distance that much easier. You may see a small FPS gain
// with these settings, or you may not, either way will likely have a
// with these settings, or you may not, either way will likely have a
// negligible effect on performance.
// negligible effect on performance.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
dsp_enhance_stereo 0
dsp_enhance_stereo 0
dsp_slow_cpu 1
dsp_slow_cpu 1
snd_async_fullyasync 1 // Having the sound run fully asynchronous has been
dsp_water 0 // Disable water muffling effect
// helpful in the past, as it seems to (for whatever
snd_async_fullyasync 1 // Play sounds independently of main engine work
// reason) reduce the number of TDRs experienced during
//snd_pitchquality 0 // Use this if desperate for FPS using a very weak CPU
// gameplay. There's some pretty good information on
snd_pitchquality 1 // The difference in quality is very noticeable and the FPS loss is negligible, if any
// TDRs (nerds only) here:
//snd_spatialize_roundrobin 1
// http://forums.nvidia.com/index.php?showtopic=65161
snd_spatialize_roundrobin 0 // 1 adds a two frame delay to spatialization
snd_pitchquality 0
snd_mixahead .08 // Delay in sound from weapons below .05 has been known to be unstable
snd_spatialize_roundrobin 1
snd_mixahead .05 // Delay in sound from weapons below .05 has been known to be unstable


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Threading
// Threading
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
mat_queue_mode 2 // mat_queue mode is another frequently asked about cvar, it
mat_queue_mode -1 // mat_queue mode is another frequently asked about cvar, it
// defines the threading method to be used by the material
// defines the threading method to be used by the material
// system. It has been unstable to use in the past, but
// system. It has been unstable to use in the past, but
// nowadays it's generally okay.
// nowadays it's generally okay.
//
//
// Here are the possible values:
// Here are the possible values:
// -2 legacy default
// -2 legacy default
// -1 default
// -1 default
// 0 synchronous single thread
// 0 synchronous single thread
// 1 queued single thread
// 1 queued single thread
// 2 queued multithreaded
// 2 queued multithreaded
//
//
// If you have problems with the value `2', try setting it to
// If you have problems with the value `2', try setting it to
// `-1'.
// `-1'.
//
//
// As an aside, there are quite a few bugs in the demo system
// As an aside, there are quite a few bugs in the demo system
// that occur when mat_queue_mode is set to a value that is
// that occur when mat_queue_mode is set to a value that is
// not `-1'. If you intend to do work with the demo system,
// not `-1'. If you intend to do work with the demo system,
// maybe you should change this.
// maybe you should change this.
//
//
//After immense testing I've found that default works perfectly
//After immense testing I've found that default works perfectly
//fine with setting your Thread usage. It automatically set me
//fine with setting your Thread usage. It automatically set me
//to 2 every time. I'd say it's safer and likely less buggy to
//to 2 every time. I'd say it's safer and likely less buggy to
//leave this at -1 than it is at 2.
//leave this at -1 than it is at 2.
//
//
//As a side not I've noticed micro stutters with mat_queue_mode 2
//As a side note I've noticed micro stutters with mat_queue_mode 2
//at 1000+ fps where mat_queue_mode 1 did not stutter at 1000+ fps
//at 1000+ fps where mat_queue_mode 1 did not stutter at 1000+ fps


// cl_threaded_bone_setup 1 // command seems to have been removed around January 2017
// cl_threaded_bone_setup 1 // command seems to have been removed around January 2017
cl_threaded_client_leaf_system 0 // DO NOT ENABLE cause crashes to desktop within 4-5 minutes of gameplay 4/18 2014
//cl_threaded_client_leaf_system 0 // "DO NOT ENABLE cause crashes to desktop within 4-5 minutes of gameplay 4/18 2014"
cl_threaded_client_leaf_system 1 // It's fine to enable this
r_queued_decals 0 // lessens the impact of higher decal limits.
r_queued_decals 0 // lessens the impact of higher decal limits.
r_queued_ropes 1
r_queued_ropes 1
r_queued_post_processing 0 // kind of pointless because it's disabled above but if you do like post processing effects keeping this on should lessen the impact on framerate
r_queued_post_processing 0 // kind of pointless because it's disabled above but if you do like post processing effects keeping this on should lessen the impact on framerate
r_threaded_client_shadow_manager 1
r_threaded_client_shadow_manager 1
r_threaded_particles 1
r_threaded_particles 1
r_threaded_renderables 1
r_threaded_renderables 1
cl_setupallbones 0 // seems to have been added around January 2017 default is 0 and 0 gives better fps than 1 in my testing
cl_setupallbones 0 // seems to have been added around January 2017 default is 0 and 0 gives better fps than 1 in my testing


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// HUD
// HUD
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
hud_saytext_time 10 //Default is 12 and measured in seconds, this is the amount of time chat stays on your screen
//hud_saytext_time 10 //Default is 12 and measured in seconds, this is the amount of time chat stays on your screen
voice_enable 1 //Default is 1, This is the voice chat in the game 1 = on, 0 = off
//voice_enable 1 //Default is 1, This is the voice chat in the game 1 = on, 0 = off
hud_deathnotice_time 5 // Default is 6, This the the death notices that usually appear at the top right of the screen
//hud_deathnotice_time 5 // Default is 6, This the the death notices that usually appear at the top right of the screen
hud_achievement_glowtime 0 // Default is 2.5, not 100% what this is about a 1.5% fps boost.
hud_achievement_glowtime 0 // Default is 2.5, not 100% what this is about a 1.5% fps boost.
hud_achievement_count 0 //Default is 8, Max number of achievements that can be shown on the HUD
hud_achievement_count 0 // Default is 8, Max number of achievements that can be shown on the HUD
hud_achievement_tracker 0 // Default is 1, Show or hide the achievement tracker
hud_achievement_tracker 0 // Default is 1, Show or hide the achievement tracker


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Test Shit
// Test Shit
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
cl_localnetworkbackdoor 1 //Network optimizations for Singleplayer, disabling has about a 1-2% fps boost
cl_localnetworkbackdoor 0 //Network optimizations for Singleplayer, disabling has about a 1-2% fps boost
cl_cloud_settings 0 // I believe this disables cloud syncing of CFGs but not 100% sure
cl_cloud_settings 0 // I believe this disables cloud syncing of CFGs but not 100% sure
//cl_notifications_show_ingame 0 // Pretty sure this disables Trade/Duel Notifications
//cl_notifications_show_ingame 0 // Pretty sure this disables Trade/Duel Notifications
sys_minidumpspewlines 500 // Basically the number of lines saved to a log file from console. No FPS boost but 15% lower FPS variance


sys_minidumpspewlines 500 // Number of lines saved to a log file from console.
// You're setting it to the default value of 500.
// It doesn't affect FPS or FPS variance anyway, it does not become
// a factor in normal play as it only is used when TF2 crashes.
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
// Misc
// Misc
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
cl_ask_blacklist_opt_out "1"
cl_ask_blacklist_opt_out "1"
cl_ask_favorite_opt_out "1"
cl_ask_favorite_opt_out "1"
sb_dontshow_maxplayer_warning "1"
sb_dontshow_maxplayer_warning "1"
tf_explanations_backpackpanel "1"
tf_explanations_backpackpanel "1"
tf_explanations_charinfo_armory_panel "1"
tf_explanations_charinfo_armory_panel "1"
tf_explanations_charinfopanel "1"
tf_explanations_charinfopanel "1"
tf_explanations_craftingpanel "1"
tf_explanations_craftingpanel "1"
tf_explanations_discardpanel "1"
tf_explanations_discardpanel "1"
tf_explanations_store "1"
tf_explanations_store "1"
tf_training_has_prompted_for_forums "1"
tf_training_has_prompted_for_forums "1"
tf_training_has_prompted_for_loadout "1"
tf_training_has_prompted_for_loadout "1"
tf_training_has_prompted_for_offline_practice "1"
tf_training_has_prompted_for_offline_practice "1"
tf_training_has_prompted_for_options "1"
tf_training_has_prompted_for_options "1"
tf_training_has_prompted_for_training "1"
tf_training_has_prompted_for_training "1"
//net_graph 1 // keeping this on actually lowers your framerate by 3-6% depending on the level of net_graph you have it at
//net_graph 1 // keeping this on actually lowers your framerate by 3-6% de
// net_graph 1,2,3,4,5
hud_fastswitch 1
sv_forcepreload 1
tf_scoreboard_ping_as_text 1

// ----------------------------------------------------------------------------
// Print to console
// ----------------------------------------------------------------------------
echo "---------------------------------------------------------"
echo "Comanglia' frames config loaded. Inspired by Chris config"
echo "---------------------------------------------------------"