Sunday, August 15, 2010

Half-Life 2 CVar Console Command Tweaks

When Half-Life 2 was launched, it was plagued with performance and stutter problems. Five years later, console commands and patches have fixed these --- I've bought a copy of The Orange Box, and my experience has so far been flawless(except that to my chagrin Gordon Freeman still feels more "glidey" than other FPS protagonists, albeit less so compared to how he moved in the first Half-Life; nausea-inducing, that one).

Being the tweak monkey that I am however, I still scrounged around for Half-Life 2 console commands and PC performance tweaks and found hundreds of CVars on the web. I picked several, applied them, and when I fired up my newest first-person shooter game, well, the changes are nothing to write home about but hey, anything to elevate a flawless experience into a cathartic romp stomping Xen transdimensional beings and Combine soldiers right?

The Half-Life 2 console commands that I use---and how to apply them to the Half-Life 2 exe---after the jump.

No one "owns" these commands as they are common knowledge. However, Koroush Ghazi of has compiled many of the most useful Half-Life 2 CVars and provided parameters and explanations in his Half-Life 2 tweak guide. For a more thorough rundown, I would advise you to visit the above page as the list below is just my personal "quick scan" reference (read: these are settings for my PC; these are not for ultra-low-end systems), just in case my hard drive suddenly goes postal:


+mem_max_heapsize 1024 - memory-related performance tweak; see the HL2 tweak guide

+cl_forcepreload 1 – Forces the game to preload everything during loadup times, eliminating stutter but lengthening the loading process.

+ai_expression_optimization 1 – Forces the game not to render NPC expression that you can’t see. (Much like that Doom 3 cull command)

+ r_threaded_particles 1 – Multi-thread-related tweak; see the HL2 tweak guide

+ r_threaded_renderables 1 - Multi-thread-related tweak; see the HL2 tweak guide

+ mat_queue_mode 2 - Multi-core-related tweak; see the HL2 tweak guide

>>>Interested in free (legal) first-person shooter single- and multi-player games? Click.


+ snd_mix_async 1 – Audio tweak; see the HL2 tweak guide

+ dsp_enhance_stereo 1 – audio improvement tweak

Graphics Improvement

+ mat_picmip -1 (I checked the console and the “highest”---lowest on the number line---Half-Life 2 setting for this tweak is “-1.”)

+ mat_parallaxmap 1 – Graphics tweak; see the HL2 tweak guide for a thorough explanation


-novid – eliminates the intro Valve movie, speeding up startup load time

+sv_autosave 0 – eliminates those annoying autosaves that shatter immersion

I linked all these into:

-novid +mem_max_heapsize 1024 +sv_autosave 0 +cl_forcepreload 1 +ai_expression_optimization 1 +r_threaded_particles 1 +r_threaded_renderables 1 +snd_mix_async 1 +mat_queue_mode 2 +mat_picmip -1 +mat_parallaxmap 1 +dsp_enhance_stereo 1

I then inserted the line into Half-Life 2's "Launch Options" (accessible by right-clicking the game's title and navigating to Properties > General > Set Launch Options) in Steam: