1. // Unexplained crashes? Try changing mat_queue_mode to `-1'.
  2. // ----------------------------------------------------------------------------
  3. // Chris' maxframes config, designed to get you a large performance boost
  4. // v2.016 | 25 January 2013 | fakkelbrigade.eu/chris/configs/
  5. // ----------------------------------------------------------------------------
  6. // Problems or questions? Contact me at #christf2 on QuakeNet.
  7. // ----------------------------------------------------------------------------
  8. // Launch options:
  9. // IMPORTANT: Remove -dxlevel 81 from the launch options after the first launch!
  10. //
  11. // Fullscreen: -dxlevel 81 -full -w WIDTH -h HEIGHT -console -novid -useforcedmparms -noforcemaccel -noforcemspd
  12. // Windowed: -dxlevel 81 -sw -w WIDTH -h HEIGHT -console -noborder -novid -useforcedmparms -noforcemaccel -noforcemspd
  13. // ----------------------------------------------------------------------------
  14.  
  15. // ----------------------------------------------------------------------------
  16. // FPS cap
  17. // ----------------------------------------------------------------------------
  18. // The primary benefit of an FPS cap is to make the FPS more stable, other than
  19. // that, it doesn't do a lot. A moderate, consistent framerate is much more
  20. // desirable than a variable but sometimes high framerate. A common
  21. // misconception is that if any more frames are generated than your monitor can
  22. // display, they are useless. This is wrong -- frames are used for much more
  23. // than mere display, and affect the way the game feels well past your
  24. // refresh rate.
  25. //
  26. // This FPS cap should *always* be set to a value higher than `cl_cmdrate' in
  27. // any case, or the discrepancy between clientside frame generation and frames
  28. // to be sent to the server will no doubt cause you many a headache, especially
  29. // when it comes down to hit registration. Other than that, I recommend
  30. // for everyone to use the value `132' (2*66), as long as you can generally
  31. // keep that value stable without regular drops.
  32. // ----------------------------------------------------------------------------
  33. cl_showfps 1 // Show unsmoothed FPS meter
  34. //fps_max 132 // Commented due to 2011-09-02 update causing jittering when fps is capped for some
  35. fps_max 0
  36.  
  37. // ----------------------------------------------------------------------------
  38. // Net settings
  39. // ----------------------------------------------------------------------------
  40. // Whilst net settings perhaps aren't an integral part of an FPS config, they
  41. // are a fact of life in competitive TF2, and as such, they are included here.
  42. //
  43. // A common question I am asked -- what defines whether a good connection is
  44. // good or bad? Mostly personal preference. If you're not willing to make the
  45. // choice, try both and see which is better for you.
  46. //
  47. // Generally, meeting both of the following conditions would classify it as a
  48. // good connection:
  49. //
  50. // - Ping of <80 to the average server you join
  51. // - Generally no/negligible choke/loss (can be checked with `net_graph')
  52. //
  53. // There's some pretty good documentation on this here:
  54. // http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
  55. //
  56. // Uncomment (remove the `//' from) one of the groups if you want to use them.
  57. // ----------------------------------------------------------------------------
  58.  
  59. // Good connection
  60. //cl_cmdrate 66
  61. //cl_interp 0
  62. //cl_interp_ratio 1
  63. //cl_lagcompensation 1
  64. //cl_pred_optimize 2
  65. //cl_smooth 0
  66. //cl_smoothtime 0.01
  67. //cl_updaterate 66
  68. //rate 60000
  69.  
  70. // Bad connection
  71. //cl_cmdrate 40
  72. //cl_interp 0
  73. //cl_interp_ratio 2
  74. //cl_lagcompensation 1
  75. //cl_pred_optimize 2
  76. //cl_smooth 0
  77. //cl_smoothtime 0.01
  78. //cl_updaterate 40
  79. //rate 35000
  80.  
  81. // ----------------------------------------------------------------------------
  82. // Sprays
  83. // ----------------------------------------------------------------------------
  84. // Bear in mind that these are disabled on war servers due to `sv_pure 2'
  85. // anyway, so if you play competitive TF2, this won't help you.
  86. // ----------------------------------------------------------------------------
  87.  
  88. // Disable sprays
  89. cl_playerspraydisable 1
  90. r_spray_lifetime 0
  91.  
  92. // Enable sprays -- uncomment this section if you want these settings
  93. //cl_playerspraydisable 0
  94. //r_spray_lifetime 2
  95.  
  96. // ----------------------------------------------------------------------------
  97. // Shadows
  98. // ----------------------------------------------------------------------------
  99.  
  100. // Disable shadows
  101. mat_shadowstate 0
  102. r_shadowmaxrendered 0
  103. r_shadowrendertotexture 0
  104. r_shadows 0
  105.  
  106. // Enable shadows -- uncomment this section if you want these settings
  107. //mat_shadowstate 1
  108. //r_shadowmaxrendered 11
  109. //r_shadowrendertotexture 1 // Non-blobby shadows. Sometimes turned on by
  110. // competitive TF2 players to see opponents standing
  111. // near the other side of a wall. You may see some
  112. // performance loss from setting this to `1'.
  113. //r_shadows 1
  114.  
  115. // ----------------------------------------------------------------------------
  116. // Facial features
  117. // ----------------------------------------------------------------------------
  118.  
  119. // Disable facial features
  120. r_eyes 0
  121. r_flex 0
  122. r_lod 2
  123. r_rootlod 2
  124. r_teeth 0
  125.  
  126. // Enable facial features -- uncomment this section if you want these settings
  127. //r_eyes 1
  128. //r_flex 1
  129. //r_lod 1 // Needs to be set to 1, otherwise they will still be disabled.
  130. //r_rootlod 1
  131. //r_teeth 1
  132.  
  133. // ----------------------------------------------------------------------------
  134. // Ragdolls
  135. // ----------------------------------------------------------------------------
  136. // You will have reduced performance on deaths which produce ragdolls.
  137. // ----------------------------------------------------------------------------
  138.  
  139. // Disable ragdolls
  140. cl_ragdoll_fade_time 0
  141. cl_ragdoll_forcefade 1
  142. cl_ragdoll_physics_enable 0
  143. g_ragdoll_fadespeed 0
  144. g_ragdoll_lvfadespeed 0
  145. ragdoll_sleepaftertime 0
  146.  
  147. // Enable ragdolls -- uncomment this section if you want these settings
  148. //cl_ragdoll_fade_time 15
  149. //cl_ragdoll_forcefade 0
  150. //cl_ragdoll_physics_enable 1
  151. //g_ragdoll_fadespeed 600
  152. //g_ragdoll_lvfadespeed 100
  153. //ragdoll_sleepaftertime "5.0f"
  154.  
  155. // ----------------------------------------------------------------------------
  156. // Gibs
  157. // ----------------------------------------------------------------------------
  158. // You will have reduced performance on deaths which produce gibs.
  159. // ----------------------------------------------------------------------------
  160.  
  161. // Disable gibs
  162. cl_phys_props_enable 0
  163. cl_phys_props_max 0
  164. props_break_max_pieces 0
  165. r_propsmaxdist 1
  166. violence_agibs 0
  167. violence_hgibs 0
  168.  
  169. // Enable gibs -- uncomment this section if you want these settings
  170. //cl_phys_props_enable 1
  171. //cl_phys_props_max 128
  172. //props_break_max_pieces -1
  173. //r_propsmaxdist 1000
  174. //violence_agibs 1
  175. //violence_hgibs 1
  176.  
  177. // ----------------------------------------------------------------------------
  178. // Graphical
  179. // ----------------------------------------------------------------------------
  180. // Now we come to the main brunt of the config. You probably don't want to mess
  181. // with this.
  182. // ----------------------------------------------------------------------------
  183. cl_detaildist 0
  184. cl_detailfade 0
  185. cl_drawmonitors 0
  186. cl_ejectbrass 0
  187. cl_jiggle_bone_framerate_cutoff 0 // Turns off jigglebones
  188. cl_new_impact_effects 0
  189. cl_show_splashes 0
  190. func_break_max_pieces 0
  191. glow_outline_effect_enable 0 // Cart glow effect.
  192. lod_transitiondist 0
  193. mat_antialias 0
  194. mat_bumpmap 0 // Controls bumpmapping. Setting this to 0 on dx9 will cause
  195. // a strange `shine' effect to appear on all players.
  196. mat_colcorrection_disableentities 1
  197. mat_colorcorrection 0
  198. mat_disable_bloom 1
  199. mat_disable_fancy_blending 1
  200. mat_disable_lightwarp 1
  201. mat_envmapsize 8
  202. mat_envmaptgasize 8
  203. mat_filterlightmaps 0
  204. mat_filtertextures 0
  205. mat_forceaniso 1
  206. mat_hdr_level 0
  207. mat_max_worldmesh_vertices 512
  208. mat_monitorgamma 2.0 // Controls brightness, try 1.8 to make it brighter or 2.2
  209. // to get it darker. Only works in fullscreen.
  210. mat_motion_blur_enabled 0
  211. mat_parallaxmap 0
  212. mat_picmip 2 // Higher = more mipmapping. Without `sv_cheats 1', you're looking
  213. // at a range from -1 to 2, -1 being the best quality, 2 being the
  214. // worst.
  215. mat_reducefillrate 1
  216. mat_reduceparticles 1
  217. mat_specular 0 // Controls specularity. Setting this to 0 will make ubers
  218. // non-shiny, and will remove some specular effects from in-game
  219. // entities which support it. Setting this to 1 on dx8 will
  220. // result in some strange `fire' textures replacing their
  221. // appropriate counterparts, especially on medals, and certain
  222. // hats.
  223. mat_trilinear 0
  224. mat_viewportscale 1 // Almost no performance gain from viewport upscaling.
  225. mat_viewportupscale 1
  226. mat_wateroverlaysize 1
  227. mp_decals 1 // `9' is a good value to still see the spread pattern from a
  228. // scattergun without any real performance loss.
  229. r_3dsky 0
  230. r_ambientboost 0
  231. r_ambientfactor 0
  232. r_ambientmin 0
  233. r_avglight 0
  234. r_cheapwaterend 1
  235. r_cheapwaterstart 1
  236. r_decals 1
  237. r_decalstaticprops 0
  238. r_decal_cullsize 15
  239. r_drawdetailprops 0
  240. r_drawmodeldecals 0
  241. r_drawflecks 0
  242. r_dynamic 0
  243. r_flashlightdepthtexture 0
  244. r_forcewaterleaf 1
  245. r_lightaverage 0
  246. r_maxnewsamples 2
  247. r_maxsampledist 1
  248. r_propsmaxdist 0
  249. r_renderoverlayfragment 0
  250. r_staticprop_lod 4
  251. r_waterdrawreflection 0
  252. r_waterdrawrefraction 1
  253. r_waterforceexpensive 0
  254. r_waterforcereflectentities 0
  255. rope_averagelight 0
  256. rope_collide 0
  257. rope_rendersolid 0
  258. rope_shake 0
  259. rope_smooth 0
  260. rope_subdiv 0
  261. rope_wind_dist 0
  262. tf_particles_disable_weather 1 // Disable weather effects on maps supporting
  263. // it, for example, setting this to `1'
  264. // disables rain effects on *_sawmill.
  265. tracer_extra 0
  266. violence_ablood 1 // Setting ablood/hblood to 1 actually improves perf usually
  267. violence_hblood 1
  268.  
  269. // ----------------------------------------------------------------------------
  270. // Misc
  271. // ----------------------------------------------------------------------------
  272. in_usekeyboardsampletime 0
  273. mat_clipz 1 // FX card users should set this to 0
  274. mat_forcehardwaresync 0
  275. mat_levelflush 1
  276. //m_rawinput 1 // Turn on raw mouse input. Commented out by default due to
  277. // silly incompatibility with the Xfire overlay. You should use
  278. // it if you can!
  279. mat_vsync 0 // Turn off vsync to avoid nasty I/O latency.
  280. r_fastzreject -1 // Values >1 enable a fast Z rejection algorithm, to be
  281. // performed on the GPU (as opposed to on the CPU). The
  282. // value `-1' autodetects hardware support for this
  283. // feature, which is safer than forcing it.
  284.  
  285. // ----------------------------------------------------------------------------
  286. // Sound
  287. // ----------------------------------------------------------------------------
  288. // I'd be hesitant to say that you would see a great deal of performance
  289. // improvement from lowering the sound quality, but in my experience as a
  290. // competitive TF2 player, lowering the sound quality makes determination of
  291. // directionality and distance that much easier. You may see a small FPS gain
  292. // with these settings, or you may not, either way will likely have a
  293. // negligible effect on performance.
  294. // ----------------------------------------------------------------------------
  295. dsp_enhance_stereo 0
  296. dsp_slow_cpu 1
  297. snd_async_fullyasync 1 // Having the sound run fully asynchronous has been
  298. // helpful in the past, as it seems to (for whatever
  299. // reason) reduce the number of TDRs experienced during
  300. // gameplay. There's some pretty good information on
  301. // TDRs (nerds only) here:
  302. // http://forums.nvidia.com/index.php?showtopic=65161
  303. snd_pitchquality 0
  304. snd_spatialize_roundrobin 1
  305.  
  306. // ----------------------------------------------------------------------------
  307. // Threading
  308. // ----------------------------------------------------------------------------
  309. mat_queue_mode 2 // mat_queue mode is another frequently asked about cvar, it
  310. // defines the threading method to be used by the material
  311. // system. It has been unstable to use in the past, but
  312. // nowadays it's generally okay.
  313. //
  314. // Here are the possible values:
  315. // -2 legacy default
  316. // -1 default
  317. // 0 synchronous single thread
  318. // 1 queued single thread
  319. // 2 queued multithreaded
  320. //
  321. // If you have problems with the value `2', try setting it to
  322. // `-1'.
  323. //
  324. // As an aside, there are quite a few bugs in the demo system
  325. // that occur when mat_queue_mode is set to a value that is
  326. // not `-1'. If you intend to do work with the demo system,
  327. // maybe you should change this.
  328.  
  329. cl_threaded_bone_setup 0
  330. cl_threaded_client_leaf_system 0
  331. r_queued_decals 0
  332. r_queued_ropes 1
  333. r_queued_post_processing 0
  334. r_threaded_client_shadow_manager 1
  335. r_threaded_particles 1
  336. r_threaded_renderables 1
  337.  
  338. // ----------------------------------------------------------------------------
  339. // Misc
  340. // ----------------------------------------------------------------------------
  341. cl_forcepreload 1 // Force preloading
  342.  
  343.  
  344. // ----------------------------------------------------------------------------
  345. // Print to console
  346. // ----------------------------------------------------------------------------
  347. echo "-------------------------------------------------------"
  348. echo " Chris' maxframes config loaded. "
  349. echo "-------------------------------------------------------"
  350. echo "Please direct all comments/queries/whatnot to"
  351. echo "#christf2 on QuakeNet."