// >> READ: Want to release a modified version of this performance config with your own changes? Please don't unless it's // a major change from this one. Make a pull request for this config to help increase performance even more and // keep everything working properly. If you're going to release a modified version anyway, please, at the very least, // link back to this github page and state that you modified this config. // Rhapsody's Performance Config - 11/19/15 // Launch options stated here. Copy these into TF2's launch options, and remove -dxlevel 90/-dxlevel 81 after the first launch, // or else your graphics settings will keep reverting every time you restart the game. // Fullscreen: -dxlevel 90 -full -w WIDTH -h HEIGHT -console -novid // Windowed: -dxlevel 90 -sw -w WIDTH -h HEIGHT -console -noborder -novid // Fullscreen DX8: -dxlevel 81 -full -w WIDTH -h HEIGHT -console -novid // Windowed DX8: -dxlevel 81 -sw -w WIDTH -h HEIGHT -console -noborder -novid // Don't use -dxlevel 95 with this config. I've attempted to, but for some reason, whenever you exit the graphics options with -dxlevel 95 enabled, // it defaults back to -dxlevel 90 or even -dxlevel 80. I'm unsure as to what actually causes this, so I can't fix it unless there's some sort of reasoning // I'm missing. // >> PLEASE NOTE // All of these settings, besides the Graphical and Miscellaneous section, can be changed in-game with commands. // These changes will persist through restarts, since all of them are commented in this autoexec. Only edit/uncomment // commented lines if you don't intend to use the console commands, since it's really not needed otherwise. // If you want to edit the commands themselves, the aliases are listed towards the bottom of the file. // >> HAVE YOUR OWN AUTOEXEC ALREADY, BUT WANT TO USE THE AUTOMATIC UPDATER? // The automatic updater replaces the autoexec.cfg file with the updated version from the github repository, meaning any changes // you make would be undone each time it grabs the current version. You can get around this by making a file called autoexec2.cfg // in the same folder autoexec.cfg is in; as of 3/19/15, this script automatically executes autoexec2.cfg if it's found. // Theoretically, you can place minor modifications to this script in that file separately, since I'd imagine autoexec2.cfg is // executed after autoexec.cfg, since autoexec.cfg is the file that's executing autoexec2.cfg. // >> KEEP UP TO DATE! // Read the README.MD file included! It has instructions on how to set up an automatic updater on Windows or Linux so that you can // keep this config updated automatically, since it changes to be compatible with the new TF2 updates. Alternatively, keep a close // eye on https://github.com/RhapsodySL/perfconfig and possibly favorite the repo! //---------------------------------------------------------------------------- // FPS display options // Show your current FPS or limit your maximum frames to make the game smoother and less jittery. //---------------------------------------------------------------------------- //cl_showfps 1 // Show unsmoothed FPS meter. //fps_max 0 // Set the FPS cap to an amount that you typically max out at to prevent jittering. Should be higher than 60. alias "+ScoreDisplay" "+showscores; net_graph 1" // Makes netgraph show info, but only when viewing scoreboard. Comment this line to get rid of the netgraph on the scoreboard. alias "-ScoreDisplay" "-showscores; net_graph 0" // Comment this line to get rid of the netgraph on the scoreboard. //net_graphproportionalfont 0 // Makes netgraph font size proportional to your screen's current resolution. On smaller displays, it's larger than it needs to be and fills up the scoreboard. Comment or set to 1 if you still want it. //net_graphpos 0 // Modify the location of the netgraph. 0 = left edge, 1 = right edge, 2 = centered, 3 or higher specifies the X co-ordinate of the graph's left edge //net_graphheight 64 // Modify the height of your netgraph for fine modification. //---------------------------------------------------------------------------- // Network 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 //---------------------------------------------------------------------------- // 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 // Comanglia's 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 // 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 // No/negligible performance benefit. Only useful to disable if you're annoyed by them. //---------------------------------------------------------------------------- cl_playerspraydisable 0 // Set to 1 to disable. r_spray_lifetime 2 // Set to 0 to disable. //---------------------------------------------------------------------------- // Shadows // Shadows can provide a tactical advantage, but at the same time can lower FPS, especially in busy areas. //---------------------------------------------------------------------------- //r_shadowmaxrendered 0 // Set to 11 to enable. //r_shadowrendertotexture 0 // Set to 1 to enable, but can cause lag; 0 is the recommended setting either way. //r_shadows 0 // Set to 1 to enable. //nb_shadow_dist 400 // Distance from which shadows are visible. Uncomment to modify. ///---------------------------------------------------------------------------- // Facial features // Disables facial features such as eyes moving and blinking, and mouths opening. //---------------------------------------------------------------------------- //r_eyes 0 // Set to 1 to enable. //r_flex 0 // Set to 1 to enable. //r_lod 2 // Needs to be set to 1, or else facial features will be disabled regardless. //r_teeth 0 // Set to 1 to enable. // Extra settings for if you want to enable facial features but still have a performance benefit. Only uncomment if you have facial features turned on. //r_eyemove 0 //r_eyeshift_x 0 //r_eyeshift_y 0 //r_eyeshift_z 0 //r_eyesize 0 //blink_duration 0 // Default is 0.2 //---------------------------------------------------------------------------- // Ragdolls // Ragdolls can provide significant FPS loss when interacted with on older computers. // ---------------------------------------------------------------------------- //cl_ragdoll_fade_time 0 // Sets how long until ragdolls fade, in seconds. Default is 15. //cl_ragdoll_forcefade 1 // Set to 0 to enable. //cl_ragdoll_physics_enable 0 // Sets whether bullets, explosives, or attacks will interact with the body. Default is 1. //g_ragdoll_fadespeed 0 // Sets how fast the fading effect is. Default is 600. //g_ragdoll_lvfadespeed 0 // Set to 100 to enable. Convar isn't documented. //ragdoll_sleepaftertime 0 // Set to "5.0f" to enable. //---------------------------------------------------------------------------- // Gibs // Gibs spawn if a player is killed by an explosion or has a Bombinomicon equip. These can cause FPS to drop. //---------------------------------------------------------------------------- //cl_phys_props_enable 0 // Disables clientside props being affected by physics. Set to 1 to enable. //cl_phys_props_max 0 // Sets the maximum amount of clientside props your client can have at once. Default is 128. //props_break_max_pieces 0 // Sets the amount of pieces props can break into. Default is -1 (model default). //r_propsmaxdist 1 // Sets the maximum visible distance from which you can see clientside props. Default is 1000. //violence_agibs 0 // Sets whether you can see gibs from the 'alien' team (a convar that likely retained it's name from an older version of TF). Set to 1 to enable. //violence_hgibs 0 // Sets whether you can see gibs from the 'human' team (a convar that likely retained it's name from an older version of TF). Set to 1 to enable. cl_burninggibs 0 // Disables burning gibs. Enough of a performance hit with it enabled that it really shouldn't be on either way... //---------------------------------------------------------------------------- // Audio // Audio settings generally don't increase performance, but can have a positive effect on stability. // ---------------------------------------------------------------------------- //dsp_enhance_stereo 0 // Provides you with a neat positional audio effect, but can have a negative effect on performance in some cases. //dsp_slow_cpu 0 // If set to 1, reduces the quality of DSP effects. Negligible performance gain. //snd_async_fullyasync 1 // Runs the audio fully asynchronous, and, for some reason, reduces the number of TDRs (https://forums.geforce.com/default/topic/389688/geforce-drivers/nvidia-statement-on-tdr-errors-display-driver-nvlddmkm-stopped-/) //snd_pitchquality 1 // Helps determine what to set the audio quality at. More info a few lines down. //snd_spatialize_roundrobin 1 // Lowend optimization: if nonzero, spatialize only a fraction of sound channels each frame. 1/2^x of channels will be spatialized //snd_mixahead 0.05 // Sets how long it takes until attack sounds play. By default the setting is 0.1, or 100ms, which is 1/10 of a second. That means that the current value plays it 50ms after attacking. Sounds usually start to glitch at lower values, so play around with this and see how low you can get! snd_mix_async 1 // Should result in a performance boost on multicore cpus. // dsp_slow_cpu and snd_pitchquality determine what your audio quality is set to in the Options menu. // High: snd_pitchquality 1; dsp_slow_cpu 0 // Medium: snd_pitchquality 0; dsp_slow_cpu 0 // Low: snd_pitchqualiy 0; dsp_slow_cpu 1 // Note: for snd_pitchqualiy 1; dsp_slow_cpu 1 options menu still displays "Low". I'm not sure if this actually makes the sound quality even lower. //---------------------------------------------------------------------------- // Graphical // Main brunt of the config, this is where the magic happens. I've documented what I can so you know what // everything does and can disable/modify it if you wish. //---------------------------------------------------------------------------- cl_hud_playerclass_use_playermodel 0 // Potential FPS gain, we'll see after more thorough testing mat_phong 0 // Disables phong shading on all models. Also achieved by enabling DX8. Disables lightwarps. Can make some models appear black. cl_drawmonitors 0 // Disables the rendering of in-game "monitors" which render things in front of a camera somewhere else on the map (think Dr. Breen in HL2 train station). Mostly unused except maybe in some DR maps cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones, although I recommend keeping them on at all times by setting them to 1, since their performance impact is generally none/negligible. cl_new_impact_effects 0 // Disables new impact effects. Even if you have a high end computer, this will cause crashes as of ~Apr 2015. cl_show_splashes 0 // Disables water splashes func_break_max_pieces 0 // Undocumented, but probably the same as props_break_max_pieces glow_outline_effect_enable 0 // Cart glow effect. Performance loss with this is generally negligible, however, so I recommend enabling it simply because of how useful it is. lod_transitiondist 0 // Sets how far you have to be from someone to make them go to their next LOD. Setting this to 0 forces the lowest LOD. mat_antialias 0 // Sets lowest antialiasing value. Set to 0 from 1 as of 11/19/15 due to crashing issues. mat_bumpmap 0 // Controls bumpmapping. Apparently it has a weird shine effect if used on dx9, but I'm not seeing it. Set to 1 if you experience it. mat_colcorrection_disableentities 0 // Disables color-correcting entities. mat_colorcorrection 0 // Disables color-correction. mat_disable_fancy_blending 1 // Disables fancy texture blending. mat_disable_lightwarp 1 // Disables lightwarps, which partially determine shading for players, entities, and the map. mat_phong also does this. mat_disable_ps_patch 1 // mat_filterlightmaps 1 // Filters lightmaps. Set to 0 for minecraft lighting. No performance impact. mat_filtertextures 1 // Filters textures. Set to 0 for minecraft textures. No performance impact. mat_forceaniso 1 // Forces anisotropic filtering level mat_hdr_level 0 // Sets HDR level. mat_max_worldmesh_vertices 65535 // Determines how many chunks world geometry is broken up into. Higher = less, 65535 is the theoretical maximum 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 // Disables motion blur. mat_mipmaptextures 1 // Controls mipmapping. Setting this to 0 should not improve performance, and will not affect vram usage like mat_picmip will. mat_reducefillrate 1 // Reduces shader complexity. mat_reduceparticles 1 // Reduces particle count. mat_autoexposure_max 0 // mat_autoexposure_min 0 // mat_alphacoverage 0 // Reduces shader complexity for some transparent materials. 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. mat_forcemanagedtextureintohardware 0 mat_trilinear 0 // Sets trlinear mode. //mat_viewportscale 1 // Defaults to 1 already. Lowers pixel density, but it's better to just lower resolution. mat_wateroverlaysize 1 // Water overlay size. mp_decals 9 // `9' is a good value to still see the spread pattern from a scattergun without any real performance loss. Needs to be changed with r_decals. r_3dsky 0 // Disables 3D skies. This makes maps like koth_wubwubwub much, much less spectacular, so you need to compromise. r_ambientboost 0 // Controls ambient lights r_cheapwaterend 1 // Activates cheap water r_cheapwaterstart 1 // Activates cheap water r_decals 9 // Controls decal amount. Needs to be changed with mp_decals. r_maxmodeldecal 9 // Controls how many decals can be on a model at once r_decalstaticprops 0 // Enables whether decals can be seen on props. r_decal_cullsize 15 // Controls the cull size of decals. r_drawdetailprops 0 // Controls whether detail props (grass, etc.) should be drawn. r_drawmodeldecals 0 // Controls whether decals should be seeable on a model. r_drawflecks 0 // Controls whether particles upon hitting a surface with a bullet should be rendered. r_dynamic 0 // Disables dynamic lighting. r_maxdlights 0 // Determines the maximum number of dynamic lights visible on the screen. r_physpropstaticlighting 0 // Dtermines if there should be static lighting on props r_occlusion 1 // Allows mappers to manually optimize their map. Theoretical FPS loss with it DISABLED, which is why it's enabled. r_worldlights 1 // Number of world lights to use per vertex. Set to 0 for a theoretical performance gain but very bad lighting effects on characters. r_forcewaterleaf 1 // Optimization to water - considers view in leaf under water for purposes of culling. r_lightaverage 0 // Disables average lighting. r_dopixelvisibility 0 // r_propsmaxdist 1 // Max visible distance for clientside physics props. r_renderoverlayfragment 0 // Disables various mapmaker-placed signs and decals, like those underneath health and ammo packs. r_staticprop_lod 10 // Sets the default LOD for static props. Undocumented, so I don't know the limit, but 10 is a good number. r_waterdrawreflection 0 // Controls as to whether reflections should be drawn on the surface of water. r_waterdrawrefraction 1 // Setting to 0 makes it so that water looks weird and you can't look into it, but it might have an FPS gain. r_waterforceexpensive 0 // Forces expensive water. r_waterforcereflectentities 0 // Forces as to whether entities should be reflected into water even if r_waterdrawreflection is 0. rope_averagelight 0 // Makes ropes use average of cubemap lighting instead of max intensity. rope_collide 0 // Collide rope with the world. rope_rendersolid 1 // Changes rope visibility. Set to 1 since ropes will be used a lot more with Mannpower. Disable for a boost. rope_shake 0 // Controls whether ropes should shake as if there's wind. rope_smooth 0 // Controls as to whether there should be an antialiasing effect on ropes. rope_subdiv 0 // Rope subdivision amount. rope_wind_dist 0 // If a rope is this far away, don't simulate wind on them. 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 // Enlarges tracers at long distance to make them more visible. violence_ablood 1 // Setting ablood/hblood to 1 actually improves perf usually violence_hblood 1 // // Control antialiasing quality to a better extent mat_software_aa_quality 0 // was 9 mat_software_aa_strength 0 mat_software_aa_strength_vgui -1 mat_software_aa_blur_one_pixel_lines 0 mat_software_aa_edge_threshold 9 mat_software_aa_tap_offset "1" //---------------------------------------------------------------------------- // Miscellaneous // Some miscellaneous improvements that don't quite fit into any of the above categories. //---------------------------------------------------------------------------- flex_smooth 1 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. 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. 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_client_leaf_system 0 r_queued_ropes 1 r_threaded_client_shadow_manager 1 r_threaded_particles 1 cl_forcepreload 1 // Forces preloading sounds and such to make it lag less when in-game. //mat_viewportupscale 1 // for terrible GPU's only //mat_viewportscale 0.5 // for terrible GPU's only cl_software_cursor 0 // fixes Windows cursor appearing on screen bug, but breaks on Mac/Linux and prevents looking up in some cases when set to 1 //---------------------------------------------------------------------------- // Experimental // Disable these if you experience crashes //---------------------------------------------------------------------------- //cl_ejectbrass 0 // Disables visual bullet ejection from miniguns. Causes crashes for some clients. //cl_localnetworkbackdoor 0 // Network optimizations for Singleplayer, disabling has about a 1-2% fps boost //cl_cloud_settings 0 // Disables cloud syncing of configs, should decrease FPS variance. Disable if you want to. //ai_expression_optimization 1 // Disables NPC expressions when you can't see them, not sure if it works on regular players in TF2, but that's why it's experimental. //r_pixelfog 0 // Apparently changes fog clarity to give a more DX8-ish appearance when set to 1. //fast_fogvolume 1 // Undocumented but I didn't experience any FPS loss with it enabled, will run benchmarks later. //filesystem_native 0 // I think there's an FPS gain with this, anyway. //host_thread_mode 0 // Prevents buggy singleplayer, set to 1 for benefits // makes local servers unplayable, so disabled by default //mod_load_anims_async 1 // Loads model animations async //mod_load_mesh_async 1 // Load model mesh async //mod_load_vcollide_async 1 // Load model vcollide async //r_queued_post_processing 1 //r_threaded_renderables 1 // cl_loadondemand_default stays at 0 regardless as to whether you choose to use experimental features or not simply because it provides // a straight up benefit and isn't unstable. //---------------------------------------------------------------------------- // Other improvements // Other non-performance improvements that you may like. Feel free to remove them if you don't, of course. // Commented all but F8 reload my Doctor McKay's recommendation. Uncomment what you want to use. //---------------------------------------------------------------------------- // General //cl_showbattery 1 // Indicates if we're on battery power or plugged in. Not useful if you're not using a laptop. //cl_mvm_wave_status_visible_during_wave 1 // Extremely useful convar to show bots remaining without having to view scoreboard //cl_use_tournament_specgui 1 // Shows your teammate's health in tournament mode and in MvM when you're dead. //cl_ask_blacklist_opt_out 1 // Disables the game annoyingly asking you if you want to blacklist a server that you spend a low amount of time on. //cl_ask_favorite_opt_out 1 // Disables the game annoyingly asking you if you want to favorite a server that you spend a long amount of time on. //hud_combattext_batching 1 // Batches together damage text. Useful for Pyro, Heavy, and the Engineer's Sentry in particular. // General HUD-based improvements hud_achievement_glowtime 0 // Default is 2.5, not 100% what this is about a 1.5% fps boost. hud_deathnotice_time 5 // Theoretically might improve FPS? hud_saytext_time 10 // Disable Tutorials //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" // Null-cancelling movement script //bind w +mfwd //bind s +mback //bind a +mleft //bind d +mright //alias +mfwd "-back;+forward;alias checkfwd +forward" //alias +mback "-forward;+back;alias checkback +back" //alias +mleft "-moveright;+moveleft;alias checkleft +moveleft" //alias +mright "-moveleft;+moveright;alias checkright +moveright" //alias -mfwd "-forward;checkback;alias checkfwd none" //alias -mback "-back;checkfwd;alias checkback none" //alias -mleft "-moveleft;checkright;alias checkleft none" //alias -mright "-moveright;checkleft;alias checkright none" //alias checkfwd none //alias checkback none //alias checkleft none //alias checkright none //alias none "" // Toggle viewmodels //bind "\" "r_drawviewmodel 0 1" // Reload graphics and sound to fix glitches. bind "f8" "record temp; stop; snd_restart; hud_reloadscheme;heartbeat;" //---------------------------------------------------------------------------- // Setup Aliases & Startup Notification //---------------------------------------------------------------------------- clear echo echo "// 11/19/15" echo "// Rhapsody's Performance Config" echo "// Type 'helpcfg' for help" echo "// Type 'setup' to setup for first time" echo "// Known bug: Lines sometimes get out of sync or text gets mangled. Not fixable. Use the command again." echo "// Tip: Have other stuff you want to auto-execute but the updater gets rid of it?" echo "// Put your customizations in autoexec2.cfg instead." alias "helpcfg" "echo This performance config is a configuration using elements from Chris`s performance config, Stabby`s config, and various other configurations that I`ve found around the internet. Alongside that, I`m also including my own knowledge in this, hopefully making this one of the best performance configs you will find.;helpcfg2" alias "helpcfg2" "echo I hope you enjoy using my config, and if you have any problems, you can contact me on Reddit (WitheredPyre), and I`ll get back to you, or you can leave an issue report on this project`s Github page (RhapsodySL/perfconfig). Enjoy your high FPS!" alias "setup" "echo Welcome to the setup wizard. Follow these instructions in order to set up basic changes to the config without modifying it. Please note that any commands referenced in this wizard can be used outside of it, at any time.;echo "";echo 1. FPS;echo 2. Network;echo 3. Sprays;echo 4. Shadows;echo 5. Facialfeatures;echo 6. Ragdolls;echo 7. Gibs;echo 8. Experimental;echo 9. Audio;setup2" alias "setup2" "echo "";echo Once you are done, you should type 'helpcfg' to learn more about this configuration and some helpful hints.;echo """ alias "FPS" "echo Your FPS (frames-per-second) determines how smoothly your games run. That being said, it is important to keep your FPS high. When using a config like this, it is in your best interest to monitor your FPS, so you have a few options included in this config.;echo "";echo fps_max # - Set your FPS cap. 60 or above is generally a good value. Does not save between sessions.;echo rpc_showsbgraph - Show a graph showing your FPS and other useful info when pressing TAB.;fps2" alias "FPS2" "echo rpc_hidesbgraph - Disable the graph that appears when pressing TAB.;fps3" alias "FPS3" "echo cl_showfps 1 - Shows an unsmoothed FPS meter in the top right;echo "";echo Additionally, you can use the following commands to move the graphs position or size.;echo "";echo net_graphproportionalfont - Makes your netgraph size dependant on your resolution.;echo net_graphpos - 0 = left, 1 = right, 2 = centered, 3/higher specifies the X coordinate of the graphs left edge;fps4" alias "FPS4" "echo net_graphheight - Modify the height of your graph for fine modification and placement. Default is 64.;echo "";FPS5" alias "FPS5" "echo Once you are done configuring these, go ahead and type Network in console to continue.;echo """ alias "Network" "echo Network settings are what allows your game to play smoothly under certain circumstances. Misconfigured network settings can make the game feel choppy and laggy, while optimized settings can make it feel better. Below, you can choose between two commands that allow you to change your settings depending on playing conditions. If your ping is ;echo over 80 on nearby servers, you should use the Bad connection settings.;Network2" alias "Network2" "echo "";echo rpc_goodconnection - Enable good connection settings. Use if you get a low ping to nearby servers.;echo rpc_goodconnection_comanglia - Enables Comanglia`s connection settings.;echo rpc_badconnection - Enable bad connection settings. Use if you get a ping of 80+ to nearby servers normally.;echo "";echo Once you are done configuring these, go ahead and type Sprays in console to continue.;echo """ alias "Sprays" "echo Sprays are images that people can put on locations around the map. Some are helpful, some are funny, and some are plain disturbing. If you dislike them, you can disable or enable them quickly with the commands below.;Sprays2" alias "Sprays2" "echo "";echo rpc_enablesprays - Enable sprays.;echo rpc_disablesprays - Disable sprays.;echo "";echo Once you are done configuring these, go ahead and type Shadows in console to continue.;echo """ alias "Shadows" "echo Shadows are generally eye-candy, but if you are an attentive player, you can use it to your advantage, since it can easily reveal someone around a corner. Below, you can choose between three shadow options.;Shadows2" alias "Shadows2" "echo rpc_enableshadows - Non-intensive shadows that allow you to not lag as much, but still get some eyecandy.;echo rpc_enableshadows_noblob - Enables non-blobby shadows (high-intensity).;echo rpc_disableshadows - Disables shadows completely.;echo "";echo Once you are done configuring these, go ahead and type Facialfeatures in console to continue." alias "Facialfeatures" "echo Facial features are what occurs to the characters faces when they talk. These are things such as eyes moving and blinking passively, and the mouth opening when they speak. This is only eyecandy, but it is pretty fun to have.;echo "";echo rpc_enablefeatures - Enables facial features.;echo rpc_enablefeatures_low - Enables low-quality facial features so you still get an FPS benefit.;Facialfeatures2" alias "Facialfeatures2" "echo rpc_disablefeatures - Disables facial features entirely.;echo "";echo Once you are done configuring these, go ahead and type Ragdolls in console to continue.;echo """ alias "Ragdolls" "echo Ragdolls are what you get when you kill someone. They can be used as indicators that an enemy is nearby if a class that headed in that direction recently is found dead. Since they can be interacted with, they can lower FPS.;echo "";echo rpc_enableragdolls - Enable ragdolls.;echo rpc_disableragdolls - Disable ragdolls.;Ragdolls2" alias "Ragdolls2" "echo "";echo Once you are done configuring these, go ahead and type Gibs to continue.;echo """ alias "Gibs" "echo Gibs are what results when someone is killed by an explosion, instead of a ragdoll. They stay for a while after the death, just like ragdolls, and can be interacted with. The sudden splash of gibs and the fact they can be interacted with are both factors that can cause FPS loss.;echo "";echo rpc_enablegibs - Enable gibs.; echo rpc_disablegibs - Disable gibs.;Gibs2" alias "Gibs2" "echo "";echo Once you are done configuring these, go ahead and type Experimental.;echo """ alias "Experimental" "echo These are some experimental commands that provide a benefit but may be unstable on certain systems. You are likely to crash when using experimental commands unless you have 4 cores or more (hyperthreading seems to count). Thanks to Comanglia for finding these convars and testing their impact!;echo "";Experimental2" alias "Experimental2" "echo rpc_experimental_off - Disables experimental features.;echo rpc_experimental_on - Enables experimental features.;echo rpc_experimental_on_amd - Enables experimental features with AMD compatibility.;echo "";echo One you are done configuring these, go ahead and type Audio." alias "Audio" "echo Audio settings are only used to enhance your experience, and generally provide no FPS benefit. Regardless, there are some settings you can modify that were not quite included in the default Settings.;echo "";echo dsp_enhance_stereo - When set to 1, provides a neat surround sound effect.;Audio2" alias "Audio2" "echo snd_mixahead 0.05 - By default, TF2 makes sounds play 100ms later after they happened (0.1). You can lower this, but at a certain point there is static. 0.05 is generally a safe value, while 0.04 might work for others.;echo "";Audio3" alias "Audio3" "echo Congratulations, you have finished the wizard! All changes will be saved, even between restarts. Now go on and start playing with better FPS than ever before!;echo If you want some extra settings to modify that you may like, type Extras.;echo """ alias "Extras" "echo These extras are some nice convars that I found by browsing the internet and looking through lists. They are not performance related, but you might appreciate them anyhow.;echo "";echo cl_showbattery - Tells you whether you are on AC or unplugged if you have a laptop. Requires cl_showfps 1;echo cl_mvm_wave_status_visible_during_wave 1 - Shows bots remaining without having to show scoreboard;Extras2" alias "Extras2" "echo cl_use_tournament_specgui 1 - Shows alive player's health in tournament mode or MvM, when you are dead.;echo hud_combattext_batching 1 - Batches together damage text if done within a short period of time.;echo hud_combattext_batching_window # - Amount of time that numbers should stop being batched if no damage occurs.;Extras3" alias "Extras3" "echo hud_combattext_healing 1 - Enable text that shows a target being healed;echo hud_saytext_time # - Control how long chat messages stay on screen. Default is 12;echo hud_deathnotice_time # - Control how long death notices stay on screen. Default is 6;Extras4" alias "Extras4" "echo cl_timeout # - Set how long before timeout when you lose connection. Default is 30.;echo tf_hud_num_build_alert_beeps - How many beeps to play when your building is damaged. Default is 2.;echo tf_hud_show_servertime_limit - Whether to show server time limit on HUD;Extras5" alias "Extras5" "echo voice_loopback 1 - Play back your voice to yourself.;echo "";echo Again, thanks for using my config!" //---------------------------------------------------------------------------- // Command Aliases //---------------------------------------------------------------------------- alias "rpc_showsbgraph" "bind TAB +ScoreDisplay;echo Scoreboard netgraph enabled.;host_writeconfig" // rpc_showsbgraph alias "rpc_hidesbgraph" "bind TAB +showscores;echo Scoreboard netgraph disabled.;host_writeconfig" // rpc_hidesbgraph alias "rpc_goodconnection" "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;echo Network settings changed to Good Connection.;host_writeconfig" // rpc_goodconnection alias "rpc_goodconnection_comanglia" "cl_cmdrate 67;cl_interp 0.033;cl_interp_ratio 1;cl_lagcompensation 1;cl_pred_optimize 2;cl_smooth 0;cl_smoothtime 0.01;cl_updaterate 67;rate 60000;echo Network settings changed to Good Connection.;host_writeconfig" // rpc_goodconnection_comanglia alias "rpc_badconnection" "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;echo Network settings changed to Bad Connection.;host_writeconfig" // rpc_badconnection alias "rpc_enablesprays" "cl_playerspraydisable 0;r_spray_lifetime 2;echo Sprays enabled.;host_writeconfig" // rpc_enablesprays alias "rpc_disablesprays" "cl_playerspraydisable 1;r_spray_lifetime 0;echo Sprays disabled.;host_writeconfig" // rpc_disablesprays alias "rpc_enableshadows" "r_shadowmaxrendered 11;r_shadowrendertotexture 0;r_shadows 1;cl_blobbyshadows 1;nb_shadow_dist 400;echo Shadows enabled.;host_writeconfig" // rpc_enableshadows alias "rpc_enableshadows_noblob" "mat_shadowstate 1;r_shadowmaxrendered 11;r_shadowrendertotexture 1;r_shadows 1;cl_blobbyshadows 0;nb_shadow_dist 400;echo Non-blobby shadows enabled.;host_writeconfig" // rpc_enableshadows_noblob alias "rpc_disableshadows" "r_shadowmaxrendered 0;r_shadowrendertotexture 0;r_shadows 0;nb_shadow_dist 0;echo Shadows disabled.;host_writeconfig" // rpc_disableshadows alias "rpc_enablegibs" "cl_phys_props_enable 1;cl_phys_props_max 128;props_break_max_pieces -1;r_propsmaxdist 1;violence_agibs 1;violence_hgibs 1;echo Gibs enabled.;host_writeconfig" // rpc_enablegibs alias "rpc_disablegibs" "cl_phys_props_enable 0;cl_phys_props_max 0;props_break_max_pieces 0;r_propsmaxdist 1;violence_agibs 0;violence_hgibs 0;echo Gibs disabled.;host_writeconfig" // rpc_disablegibs alias "rpc_enablefeatures" "r_eyes 1;r_flex 1;r_lod 1;r_teeth 1;r_eyemove 1;r_eyeshift_x 0;r_eyeshift_y 0;r_eyeshift_z 0;r_eyesize 0;blink_duration 0.2;echo Facial features enabled.;host_writeconfig" // rpc_enablefeatures alias "rpc_enablefeatures_low" "r_eyes 1;r_flex 1;r_lod 1;r_teeth 1;r_eyemove 0;r_eyeshift_x 1;r_eyeshift_y 1;r_eyeshift_z 1;r_eyesize 1;blink_duration 0;echo Low-quality facial features enabled.;host_writeconfig" // rpc_enablefeatures_low alias "rpc_disablefeatures" "r_eyes 0;r_flex 0;r_lod 2;;r_teeth 0;echo Facial features disabled.;host_writeconfig" // rpc_disablefeatures alias "rpc_enableragdolls" "cl_ragdoll_fade_time 15;cl_ragdoll_forcefade 0;cl_ragdoll_physics_enable 1;g_ragdoll_fadespeed 600;ragdoll_sleepaftertime 5.0f;echo Ragdolls enabled.;host_writeconfig" // rpc_enableragdolls alias "rpc_disableragdolls" "cl_ragdoll_fade_time 0;cl_ragdoll_forcefade 1;cl_ragdoll_physics_enable 0;g_ragdoll_fadespeed 0;ragdoll_sleepaftertime 0;echo Ragdolls disabled.;host_writeconfig" // rpc_disableragdolls alias "rpc_enablegibs" "cl_phys_props_enable 1;cl_phys_props_max 128;props_break_max_pieces -1;r_propsmaxdist 1;violence_agibs 1;violence_hgibs 1;echo Gibs enabled.;host_writeconfig" // rpc_enablegibs alias "rpc_disablegibs" "cl_phys_props_enable 0;cl_phys_props_max 0;props_break_max_pieces 0;r_propsmaxdist 1;violence_agibs 0;violence_hgibs 0;echo Gibs disabled.;host_writeconfig" // rpc_disablegibs alias "rpc_experimental_off" "cl_ejectbrass 1;cl_localnetworkbackdoor 1;ai_expression_optimization 0;fast_fogvolume 0;filesystem_native 1;host_thread_mode 0;mod_load_anims_async 0;mod_load_mesh_async 0;mod_load_vcollide_async 0;cl_threaded_bone_setup 0;r_queued_decals 0;studio_queue_mode 0;echo Experimental changes disabled.;host_writeconfig" // rpc_experimental_off alias "rpc_experimental_on" "cl_ejectbrass 0;cl_localnetworkbackdoor 0;ai_expression_optimization 1;fast_fogvolume 1;filesystem_native 0;host_thread_mode 1;mod_load_anims_async 1;mod_load_mesh_async 1;mod_load_vcollide_async 1;cl_threaded_bone_setup 1;r_queued_decals 1;studio_queue_mode 1;echo Experimental changes enabled.;host_writeconfig" // rpc_experimental_on (thanks, Comanglia!) alias "rpc_experimental_on_amd" "cl_ejectbrass 0;cl_localnetworkbackdoor 0;ai_expression_optimization 1;fast_fogvolume 1;filesystem_native 0;host_thread_mode 1;mod_load_anims_async 1;mod_load_mesh_async 1;mod_load_vcollide_async 1;cl_threaded_bone_setup 1;r_queued_decals 0;studio_queue_mode 1;r_pixelfog 1;echo Experimental changes (AMD mode) enabled.;host_writeconfig" // rpc_experimental_on_amd (thanks, Comanglia!) //---------------------------------------------------------------------------- // Modification Support //---------------------------------------------------------------------------- exec autoexec2.cfg // Executes a file called autoexec2.cfg if it's present, allowing the user to have their own autoexec and still use the auto-updater. // Changelog // // You can view a detailed log of the exact changes at https://github.com/RhapsodySL/perfconfig/commits/master