|
|
Line 1: |
Line 1: |
− | // Unexplained crashes? Try changing mat_queue_mode to `-1'.
| |
− | // ----------------------------------------------------------------------------
| |
− | // Chris' dx9frames config, designed to get you a large performance boost
| |
− | // v2.010 | 26 August 2012 | fakkelbrigade.eu/chris/configs/
| |
− | // ----------------------------------------------------------------------------
| |
− | // Problems or questions? Contact me at #christf2 on QuakeNet.
| |
− | // ----------------------------------------------------------------------------
| |
− | // Launch options:
| |
− | // IMPORTANT: Remove -dxlevel 90 from the launch options after the first launch!
| |
− | //
| |
− | // Fullscreen: -dxlevel 90 -full -w WIDTH -h HEIGHT -console -novid -useforcedmparms -noforcemaccel -noforcemspd
| |
− | // Windowed: -dxlevel 90 -sw -w WIDTH -h HEIGHT -console -noborder -novid -useforcedmparms -noforcemaccel -noforcemspd
| |
− | // ----------------------------------------------------------------------------
| |
| | | |
− | // ----------------------------------------------------------------------------
| |
− | // 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_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 1 // 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 1
| |
− | mat_filtertextures 1
| |
− | 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 1 // 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 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 1 on dx8 will
| |
− | // result in some strange `fire' textures replacing their
| |
− | // appropriate counterparts, especially on medals, and certain
| |
− | // hats.
| |
− | mat_trilinear 1
| |
− | mat_wateroverlaysize 1
| |
− | mp_decals 9 // `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 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 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' dx9frames config loaded. "
| |
− | echo "-------------------------------------------------------"
| |
− | echo "Please direct all comments/queries/whatnot to"
| |
− | echo "#christf2 on QuakeNet."
| |