// Unexplained crashes? Try changing mat_queue_mode to `-1'. // ---------------------------------------------------------------------------- // Comanglia' frames config inspired by chris, designed to get you a large performance boost // v1.8beta | March 2017 | https://dl.dropboxusercontent.com/u/92187841/gfx.cfg // ---------------------------------------------------------------------------- // Launch options: // You don't have to remove -dxlevel from the launch options after the first launch! // // Fullscreen: -dxlevel 81 -full -w WIDTH -h HEIGHT -console -novid // Windowed: -dxlevel 81 -sw -w WIDTH -h HEIGHT -console -noborder -novid // -useforcedmparms -noforcemaccel -noforcemspd // All of these are outdated and don't matter anymore // // DX Levels // -dxlevel 80, -dxlevel 81, -dxlevel 90, -dxlevel 91, -dxlevel 95, -dxlevel 98 // if you can use -dxlevel 81 USE IT your fps will be significantly more stable, some Nvidia users may experience a weird strobing effect // (some series of outdated nvidia drivers remove this affect) // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // FPS cap // ---------------------------------------------------------------------------- // 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 // desirable than a variable but sometimes high framerate. A common // 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 // than mere display, and affect the way the game feels well past your // refresh rate. // ---------------------------------------------------------------------------- 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 132 // I'm leaving this in here though because some PCs (usually laptops) tend to overheat and have microstutters without frame caps. sv_cheats 0 // ---------------------------------------------------------------------------- // Net settings // ---------------------------------------------------------------------------- // 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. // // 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 // choice, try both and see which is better for you. // // Generally, meeting both of the following conditions would classify it as a // good connection: // // - Ping of <80 to the average server you join // - Generally no/negligible choke/loss (can be checked with `net_graph') // // There's some pretty good documentation on this here: // http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking // // Uncomment (remove the `//' from) one of the groups if you want to use them. // ---------------------------------------------------------------------------- // Good connection cl_cmdrate 67 // The tricks to get 1.4ms lerp are placebo you're still forced to .0152 cl_interp .033 // change to whatever you like for certain classes projectiles/popping uber/flames = .0152 hitscan = .031 on bad connections = .062 cl_interp_ratio 1 cl_lagcompensation 1 cl_pred_optimize 2 cl_smooth 0 cl_smoothtime 0.01 cl_updaterate 67 // The tricks to get 1.4ms lerp are placebo you're still forced to .0152 rate 60000 // anything above 62,000 is completely useless, anything above 48,000ish is useless in HL // 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 //cl_cmdrate 40 //cl_interp 0 //cl_interp_ratio 2 //cl_lagcompensation 1 //cl_pred_optimize 2 //cl_smooth 0 //cl_smoothtime 0.01 //cl_updaterate 40 //rate 35000 // ---------------------------------------------------------------------------- // Sprays // ---------------------------------------------------------------------------- // 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. // ---------------------------------------------------------------------------- // Disable sprays cl_playerspraydisable 1 r_spray_lifetime 0 // Enable sprays -- uncomment this section if you want these settings //cl_playerspraydisable 0 //r_spray_lifetime 2 // ---------------------------------------------------------------------------- // Shadows // ---------------------------------------------------------------------------- // Disable shadows r_shadowmaxrendered 0 r_shadowrendertotexture 0 r_shadows 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 //mat_shadowstate 1 //r_shadowmaxrendered 11 //r_shadowrendertotexture 1 // Non-blobby shadows. Sometimes turned on by // competitive TF2 players to see opponents standing // near the other side of a wall. You may see some // performance loss from setting this to `1'. //r_shadows 1 //nb_shadow_dist 400 // ---------------------------------------------------------------------------- // Facial features // ---------------------------------------------------------------------------- // Disable facial features r_eyes 0 r_flex 0 r_lod 2 r_rootlod 2 r_teeth 0 r_eyemove 0 r_eyeshift_x 0 r_eyeshift_y 0 r_eyeshift_z 0 r_eyesize 0 blink_duration 0 // Enable facial features -- turning them on lowers framerate by 5ish% //r_eyes 1 //r_flex 1 //r_lod 1 // Needs to be set to 1, otherwise they will still be disabled. //r_rootlod 1 //r_teeth 1 // ---------------------------------------------------------------------------- // Ragdolls // ---------------------------------------------------------------------------- // You will have reduced performance on deaths which produce ragdolls. // ---------------------------------------------------------------------------- // Disable ragdolls cl_ragdoll_fade_time 0 cl_ragdoll_forcefade 1 cl_ragdoll_physics_enable 0 g_ragdoll_fadespeed 0 g_ragdoll_lvfadespeed 0 ragdoll_sleepaftertime 0 // Enable ragdolls -- lowers by 10ish% //cl_ragdoll_fade_time 15 //cl_ragdoll_forcefade 0 //cl_ragdoll_physics_enable 1 //g_ragdoll_fadespeed 600 //g_ragdoll_lvfadespeed 100 //ragdoll_sleepaftertime "5.0f" // ---------------------------------------------------------------------------- // Gibs // ---------------------------------------------------------------------------- // You will have reduced performance on deaths which produce gibs. // ---------------------------------------------------------------------------- // Disable gibs cl_phys_props_enable 0 cl_phys_props_max 0 props_break_max_pieces 0 r_propsmaxdist 1 violence_agibs 0 violence_hgibs 0 // Enable gibs -- 6-7% less framerate //cl_phys_props_enable 1 //cl_phys_props_max 128 //props_break_max_pieces -1 //r_propsmaxdist 1000 //violence_agibs 1 //violence_hgibs 1 // ---------------------------------------------------------------------------- // Graphical // ---------------------------------------------------------------------------- // Now we come to the main brunt of the config. You probably don't want to mess // with this. // ---------------------------------------------------------------------------- prop_active_gib_limit 0 props_break_max_pieces_perframe 0 fov_desired 90 cl_hud_playerclass_use_playermodel 0 // adds another hud element -3% frames mat_phong 0 // some people don't like this on I prefer it on for sniper though cl_muzzleflash_dlight_1st 0 cl_detaildist 0 cl_detailfade 0 cl_drawmonitors 0 cl_ejectbrass 0 cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones cl_new_impact_effects 0 cl_show_splashes 0 cl_rumblescale 0 cl_showhelp 0 cl_showpluginmessages 0 cl_debugrumble 0 func_break_max_pieces 0 glow_outline_effect_enable 0 // Cart glow effect. lod_transitiondist 0 //mat_antialias 1 // apparently having this in config can break the mumble overlay for some users mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause // a strange `shine' effect to appear on all players. - Chris // In the past I wasn't able to prove that disabling this was significant, // it effects fps by about 1% after several checks - Comanglia mat_colcorrection_disableentities 1 mat_colorcorrection 0 mat_disable_bloom 1 mat_disable_fancy_blending 1 mat_disable_lightwarp 1 mat_envmapsize 8 mat_envmaptgasize 8 mat_filterlightmaps 1 mat_filtertextures 1 mat_forceaniso 1 mat_hdr_level 0 mat_autoexposure_max 0 mat_autoexposure_min 0 mat_bloomscale 0 mat_bloom_scalefactor_scalar 0 mat_debug_postprocessing_effects 0 mat_debugdepth 0 mat_postprocessing_combine 0 mat_non_hdr_bloom_scalefactor 0 mat_bufferprimitives 1 mat_compressedtextures 1 mat_forcemanagedtextureintohardware 0 mat_framebuffercopyoverlaysize 0 mat_hdr_enabled 0 mat_hdr_manual_tonemap_rate 0 mat_mipmaptextures 0 // *** mat_showlightmappage -1 mat_softwarelighting 0 mat_software_aa_blur_one_pixel_lines 0 mat_software_aa_edge_threshold 9 mat_software_aa_quality 0// was 9 mat_software_aa_strength 0 mat_software_aa_strength_vgui 0 mat_software_aa_tap_offset 0 mat_software_aa_quality 0 mat_texture_limit -1 mat_use_compressed_hdr_textures 0 mem_max_heapsize 2048 mod_forcedata 1 mod_forcetouchdata 1 mat_max_worldmesh_vertices 512 mat_monitorgamma 2.2 // Controls brightness, try 1.8 to make it brighter or 2.2 // to get it darker. Only works in fullscreen. mat_parallaxmap 0 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 // worst. - Doesn't really matter much what you set this too if you're cpu bound mat_reducefillrate 1 mat_reduceparticles 1 mat_specular 1 // Controls specularity. Setting this to 0 will make ubers // non-shiny, and will remove some specular effects from in-game // entities which support it. - Setting this to 0 while trilinear is off lowers framerate for reasons I don't understand mat_trilinear 1 mat_viewportscale 1 // Almost no performance gain from viewport upscaling. mat_viewportupscale 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 r_3dsky 0 r_ambientboost 0 r_ambientfactor 0 r_ambientmin 0 r_cheapwaterend 1 r_cheapwaterstart 1 r_decals 9 r_maxmodeldecal 9 r_decalstaticprops 0 r_decal_cullsize 15 r_drawdetailprops 0 r_drawmodeldecals 0 r_drawflecks 0 r_dynamic 0 r_flashlightdepthtexture 0 r_forcewaterleaf 1 r_lightaverage 0 r_maxnewsamples 0 r_maxsampledist 1 r_bloomtintb 0 r_bloomtintexponent 0 r_bloomtintg 0 r_bloomtintr 0 r_occlusion 1 r_pixelfog 1 r_propsmaxdist 0 r_renderoverlayfragment 0 r_staticprop_lod 4 r_waterdrawreflection 0 r_waterdrawrefraction 1 r_waterforceexpensive 0 r_waterforcereflectentities 0 r_drawtracers_firstperson 0 // should give a small fps boost in 1st person r_dopixelvisibility 0 r_drawbatchdecals 0 r_hunkalloclightmaps 0 r_lightcache_zbuffercache 0 r_PhysPropStaticLighting 0 rope_averagelight 0 rope_collide 0 rope_rendersolid 0 rope_shake 0 rope_smooth 0 rope_subdiv 0 rope_wind_dist 0 tf_particles_disable_weather 1 // Disable weather effects on maps supporting // it, for example, setting this to `1' // disables rain effects on *_sawmill. tracer_extra 0 violence_ablood 1 // framerates on -most- pcs are higher with these on violence_hblood 1 mat_motion_blur_enabled 0 // just incase anyone has this added before loading my cfg mat_motion_blur_forward_enabled 0 mat_motion_blur_strength 0 r_worldlightmin 0.0001 r_worldlights 0 mp_usehwmmodels -1 mp_usehwmvcds -1 // ---------------------------------------------------------------------------- // Misc // ---------------------------------------------------------------------------- in_usekeyboardsampletime 0 mat_clipz 1 // FX card users should set this to 0 mat_forcehardwaresync 0 mat_levelflush 1 m_rawinput 1 // Turn on raw mouse input. Commented out by default due to // 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. r_fastzreject -1 // Values >1 enable a fast Z rejection algorithm, to be // performed on the GPU (as opposed to on the CPU). The // value `-1' autodetects hardware support for this // feature, which is safer than forcing it. ai_expression_optimization 1 fast_fogvolume 1 host_thread_mode 0 // Not exactly stable mod_load_anims_async 1 mod_load_mesh_async 1 mod_load_vcollide_async 1 con_enable 1 con_filter_enable 1 con_filter_text_out particle datacachesize 256 // ---------------------------------------------------------------------------- // Sound // ---------------------------------------------------------------------------- // 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 // competitive TF2 player, lowering the sound quality makes determination of // 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 // negligible effect on performance. // ---------------------------------------------------------------------------- dsp_enhance_stereo 0 dsp_slow_cpu 1 snd_async_fullyasync 1 // Having the sound run fully asynchronous has been // helpful in the past, as it seems to (for whatever // reason) reduce the number of TDRs experienced during // gameplay. There's some pretty good information on // TDRs (nerds only) here: // http://forums.nvidia.com/index.php?showtopic=65161 snd_pitchquality 0 snd_spatialize_roundrobin 1 snd_mixahead .05 // Delay in sound from weapons below .05 has been known to be unstable // ---------------------------------------------------------------------------- // Threading // ---------------------------------------------------------------------------- mat_queue_mode 2 // mat_queue mode is another frequently asked about cvar, it // defines the threading method to be used by the material // system. It has been unstable to use in the past, but // nowadays it's generally okay. // // Here are the possible values: // -2 legacy default // -1 default // 0 synchronous single thread // 1 queued single thread // 2 queued multithreaded // // If you have problems with the value `2', try setting it to // `-1'. // // 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 // not `-1'. If you intend to do work with the demo system, // maybe you should change this. // //After immense testing I've found that default works perfectly //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 //leave this at -1 than it is at 2. // //As a side not I've noticed micro stutters with mat_queue_mode 2 //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_client_leaf_system 0 // DO NOT ENABLE cause crashes to desktop within 4-5 minutes of gameplay 4/18 2014 r_queued_decals 0 // lessens the impact of higher decal limits. 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_threaded_client_shadow_manager 1 r_threaded_particles 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 // ---------------------------------------------------------------------------- // HUD // ---------------------------------------------------------------------------- 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 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_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 // ---------------------------------------------------------------------------- // Test Shit // ---------------------------------------------------------------------------- cl_localnetworkbackdoor 1 //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_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 // ---------------------------------------------------------------------------- // Misc // ---------------------------------------------------------------------------- cl_ask_blacklist_opt_out "1" cl_ask_favorite_opt_out "1" sb_dontshow_maxplayer_warning "1" tf_explanations_backpackpanel "1" tf_explanations_charinfo_armory_panel "1" tf_explanations_charinfopanel "1" tf_explanations_craftingpanel "1" tf_explanations_discardpanel "1" tf_explanations_store "1" tf_training_has_prompted_for_forums "1" tf_training_has_prompted_for_loadout "1" tf_training_has_prompted_for_offline_practice "1" tf_training_has_prompted_for_options "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,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 "---------------------------------------------------------"