// Unexplained crashes? Try changing mat_queue_mode to `-1'. // ---------------------------------------------------------------------------- // Chris' maxframes config, designed to get you a large performance boost // v2.015 | 1 November 2012 | fakkelbrigade.eu/chris/configs/ // ---------------------------------------------------------------------------- // Problems or questions? Contact me at #christf2 on QuakeNet. // ---------------------------------------------------------------------------- // FYI: -dxlevel has no effect on Linux systems // // Launch options: // // Fullscreen: -full -w WIDTH -h HEIGHT -console -novid // Windowed: -sw -w WIDTH -h HEIGHT -console -noborder -novid // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // 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. // // This FPS cap should *always* be set to a value higher than `cl_cmdrate' in // any case, or the discrepancy between clientside frame generation and frames // to be sent to the server will no doubt cause you many a headache, especially // when it comes down to hit registration. Other than that, I recommend // for everyone to use the value `132' (2*66), as long as you can generally // keep that value stable without regular drops. // ---------------------------------------------------------------------------- cl_showfps 1 // Show unsmoothed FPS meter //fps_max 132 // Commented due to 2011-09-02 update causing jittering when fps is capped for some fps_max 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 66 //cl_interp 0 //cl_interp_ratio 1 //cl_lagcompensation 1 //cl_pred_optimize 2 //cl_smooth 0 //cl_smoothtime 0.01 //cl_updaterate 66 //rate 60000 // 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 mat_shadowstate 0 r_shadowmaxrendered 0 r_shadowrendertotexture 0 r_shadows 0 // Enable shadows -- uncomment this section if you want these settings //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 // ---------------------------------------------------------------------------- // Facial features // ---------------------------------------------------------------------------- // Disable facial features r_eyes 0 r_flex 0 r_lod 2 r_rootlod 2 r_teeth 0 // Enable facial features -- uncomment this section if you want these settings //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 -- uncomment this section if you want these settings //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 -- uncomment this section if you want these settings //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. // ---------------------------------------------------------------------------- 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 func_break_max_pieces 0 glow_outline_effect_enable 0 // Cart glow effect. lod_transitiondist 0 mat_antialias 0 mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause // a strange `shine' effect to appear on all players. 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 0 mat_filtertextures 1 // 0 causes glitches on Linux client mat_forceaniso 1 mat_hdr_level 0 mat_max_worldmesh_vertices 512 mat_monitorgamma 2.0 // Controls brightness, try 1.8 to make it brighter or 2.2 // to get it darker. Only works in fullscreen. mat_motion_blur_enabled 0 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. mat_reducefillrate 1 mat_reduceparticles 1 mat_specular 0 // 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 1 on dx8 will // result in some strange `fire' textures replacing their // appropriate counterparts, especially on medals, and certain // hats. mat_trilinear 0 mat_viewportscale 1 // Almost no performance gain from viewport upscaling. mat_viewportupscale 1 mat_wateroverlaysize 1 mp_decals 1 // `9' is a good value to still see the spread pattern from a // scattergun without any real performance loss. r_3dsky 0 r_ambientboost 0 r_ambientfactor 0 r_ambientmin 0 r_avglight 0 r_cheapwaterend 1 r_cheapwaterstart 1 r_decals 1 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 2 r_maxsampledist 1 r_propsmaxdist 0 r_renderoverlayfragment 0 r_staticprop_lod 4 r_waterdrawreflection 0 r_waterdrawrefraction 1 r_waterforceexpensive 0 r_waterforcereflectentities 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 0 violence_hblood 0 // ---------------------------------------------------------------------------- // 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! 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. // ---------------------------------------------------------------------------- // 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 // ---------------------------------------------------------------------------- // 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. cl_threaded_bone_setup 0 cl_threaded_client_leaf_system 0 r_queued_decals 0 r_queued_ropes 1 r_queued_post_processing 0 r_threaded_client_shadow_manager 1 r_threaded_particles 1 r_threaded_renderables 1 // ---------------------------------------------------------------------------- // Misc // ---------------------------------------------------------------------------- cl_forcepreload 1 // Force preloading // ---------------------------------------------------------------------------- // Print to console // ---------------------------------------------------------------------------- echo "-------------------------------------------------------" echo " Chris' maxframes config loaded. " echo "-------------------------------------------------------" echo "Please direct all comments/queries/whatnot to" echo "#christf2 on QuakeNet."