Call of Duty 2 Tweak Guide

[Page 9] Advanced Tweaking (Pt.3)



Graphics/Performance Commands


ai_corpseCount [0 - 64] - Determines the maximum number of corpses visible on screen at any time. Usually determined by the in-game setting Number of Corpses, you can set a specific value between 0 and 64 here, with the lower the number, the greater your FPS in heavy combat scenes. Note, setting a value of 0 will cause the game to crash.


cg_brass [0,1] - If set to 0, disables all ejecting brass, such as expended shells from your gun. This can improve FPS slightly when firing your weapon.


cg_drawGun [0,1] - (cheat) If set to 0, removes the gun model from in front of the player. In effect the gun becomes hidden, and this will improve performance by removing the complex gun model from the screen.


cg_marks [0,1] - If set to 0, disables all marks made by weapons, explosions etc - such as bullet impact marks and charring on the ground. This can improve performance in heavy combat scenes. If set to 1, you can set the maximum number of marks shown with the cg_markslimit command.


cl_mouseAccel [0 - 100] - If set to 1 or higher, accelerates your mouse movements. The higher the value used, the quicker your movements will accelerate your mouse. This can make aiming difficult, so set to 0 if you want to disable this option.


com_hunkMegs [80 - 512] - Determines the amount of memory (in MB) to allocate to the game to help smooth out in-game loading. You should not allocate any more than half your system RAM to this option (i.e. if you have 1GB of RAM, set this cvar to 512).


com_maxfps [0 - 1000] - Determines the maximum frames per second (fps) possible. If set to 0, disables the FPS cap. Any value higher than 0 caps your FPS to that level. The main reason to use this command would be to smooth framerate fluctuation, as framerate spikes can cause jerky gameplay.


developer [0,1] - If set to 1, enables developer mode, which shows the game code and allows a range of functions for testing the code.


fx_enable [0,1] - (cheat) If set to 0, disables a range of special effects in the game. This can improve performance at the cost of image quality.


r_aasamples [1-4] Determines the level of Antialiasing (AA) applied in the game. You can set this using the Anti-Aliasing option in the in-game settings. Note that a value of 1 turns AA Off.


r_anisotropy [0-16] - If Anisotropic Filtering is enabled in the in-game settings, this cvar sets the level of Anisotropic Filtering used. The default is 8x, however you can set a value between 1x and 16x, with the higher the sample rate, the better texture quality but the lower your performance. Anisotropy can have a significant impact on performance on certain systems.


r_aaAlpha [0,1,2] - This setting determines the type of alpha blending used for antialiasing (if AA is enabled). 0 is off, which gives the best performance, 1 is dither mode which is the default, and 2 is Supersampling which provides better image quality but reduces performance.


r_autopriority [0,1] - I'm not certain what this option does, it may prioritize objects in the z buffer. Regardless, when set to 1 (enabled) it seems to provide slightly better performance without a noticeable drop in image quality.


r_drawDecals [0,1] - If set to 1, disables all decals - that is, marks on the wall from gunfire, explosions, etc. Similar to the cg_marks command.


r_drawSun [0,1] - If set to 0, disables the sun effect in the sky - the sun disappears. This can improve performance slightly, and also removes the 'sunblind' effect when starting at the sky.


r_drawWater [0,1] - (cheat) If set to 0, disables water effects. This improves performance in areas with water.


r_fog [0,1] - (cheat) If set to 0, disables any visible fog. This can improve performance in such circumstances.


r_forceLod [0,1,2,3,4] - (cheat) Sets the Level of Detail (LOD). 0 is High, 1 is Medium, 2 is Low, 3 is Lowest and 4 is None.


r_fullscreen [0,1] - If set to 0, changes from fullscreen to windowed mode. This can help performance if the window is smaller than your current desktop resolution. Game must be restarted for windowed mode to come into effect.


r_gamma [0.5 - 3.0] - Sets the level of the in-game Gamma (brightness). Normal gamma has a value of 1, 3 is very bright, 0.5 is dark.


r_glow [0,1] - If set to 0, disables the in-game 'glow' which certain bright objects (such as the clouds) emit. This can noticeably improve performance, especially for lower-end graphics cards, without a major reduction in image quality. Some people actually prefer to disable the glow effect as they find it annoying.


r_lodBias [-1000 - 0] - Controls the Level of Detail (LOD) Bias. The default is 0, and values below 0 progressively make distant models (e.g. soldiers) more detailed. At -1000 the level of detail of all models is at its highest, but performance also takes a signficant negative hit.


r_lodScale [1 - 4] - Determines the rate at which the LOD Bias value comes into effect. That is, models closer to you will lose more details more quickly the higher the lodscale value.


r_dlightLimit [0 - 32] - This setting corresponds to the 'Number of Dynamic Lights' option in the in-game settings. However here you can specify a specific a limit to number of dynamic lights. By default 8 is the maximum number allowed in the game using the in-game settings (= High), however you can set it higher here if you're willing to reduce performance in certain areas, or you can set it at intermediate values such as 7 or 5 which are not possible using the in-game settings.


r_displayRefresh [0] - Provides the possible refresh rate modes at your current resolution, and is the same as the 'Screen Refresh Rate' setting in the graphics options of the game. You can't specify the actual refresh rate in Hz here, only the mode which corresponds to it. To use the maximum possible refresh rate on your system for your chosen resolution, see the 'Refresh Rate Fix' section near the bottom of page 4 of my Nvidia Forceware Tweak Guide or my ATI Catalyst Tweak Guide. Once you've overridden the default 60Hz refresh rate on your system, you should be able to choose a higher refresh setting in the in-game settings or here.


r_multigpu [0,1] - This setting is the same as the 'Optimize for SLI' option in the in-game settings. As such, you should set it there, however check to make sure it is set appropriately for your system (i.e. 0 for single graphics card users, 1 for SLI users). Also make sure to check the r_gpysync value (See below) for optimal performance. Some single graphics card users note a performance improvement when setting this option to 1, however this may induce keyboard/mouse lag. There is further discussion of these settings in the Conclusion section of the guide.


r_gpuSync [0,1,2,3] - This setting determines the synchronization of the GPU (graphics processing unit) and CPU. The values for the various modes are 0 for Off, 1 for Beginning, 2 for beforePresent, and 3 for Adaptive. Importantly, this setting currently defaults to 3 for all users which is a conscious decision by Infinity Ward to balance performance and responsiveness. This is because if set to 0, you may gain performance however your control input (keyboard and/or mouse input) may become laggy as the CPU and GPU go slightly out of sync in places (See Conclusion section). If you are desparate for extra FPS, set this to 0, however if you notice mouse/keyboard lag even at 30+ FPS, then reset to the default value 3 (Adaptive) which keeps the CPU and GPU in sync.


r_mode [0,1,2,3-] - This setting is controlled by the 'Video Mode' option in the in-game settings. As such you should set it there. However if you run into any problems with the resolution, you can manually select one of the preset modes here, with 0 being 640x480, 1 is 800x600, 2 is 1024x768, 3 is 1280x1024 and so forth depending on your monitor's maximum possible resolution in COD 2. There's no way to set custom resolutions in COD 2 - the only way is to set a custom resolutions in your graphics card control panel, and it should appear in the Video Mode in-game option for COD2.


r_showTris [0,1,2] - (cheat) If set to 1 or 2 enables simple or detailed wireframe mode.


r_skinCache [0,1] - If set to 1, caches model skins, resulting in smoother gameplay. However caching takes up some memory, so for those with very low system RAM, disabling skincaching may reduce loading times and improve performance. For most everyone else, keep this enabled, or experiment to see what performs best on your system.


r_zfeather [0,1] - If set to 0, disables zfeather smoke effects. These effects are covered in the In-Game Settings section of this guide under the 'Soften Smoke Edges' setting. Note that some graphics cards may not have sufficient hardware support for zfeather smoke, and hence can't be forced to use it.


sys_SSE [0,1] - Should be set to 1 on all systems as it enables COD 2's SSE Extension support on SSE CPUs (both Intel and AMD support SSE), which increases performance. Just check this to make sure it is set to 1, and if not set it to 1 for optimal performance.


r_fullbright [0,1] - (cheat) If set to 1, this command removes all shadowing, making everything easier to see. It is considered a cheat when used in multiplayer for precisely this reason.


r_skipbackend [0,1] - (cheat) This option appears to be for removing back-facing polygons, which would improve performance. However when enabled it appears to remove everything (the screen turns black), so it is not recommended that you use this command.


r_znear [0.001 - 16], r_zfar [0 - ?], r_znear_depthhack [0.001 - 16] - (cheat) The r_znear and r_zfar commands work together to define the distance at which objects are clipped. The r_znear_depthhack command is also involved, although I'm not sure precisely how. Altering these values typically results in objects in the near or far distance disappearing or appearing transparent. You can experiment with small alterations from the default values to fix clipping problems or to see if you can gain some performance in large open areas.


sv_framerate_smoothing [0,1] - If set to 1 this option should keep framerates smooth, however you can experiment to see if disabling it improves performance or overall framerate. I saw no difference on my system either way.


[Texture Settings]


r_picmip_manual [0,1] - Controls whether Call of Duty 2 automatically determines the texture quality parameters, or whether your manual settings will be implemented. This is the same as the Texture Quality setting in the in-game menu. If you want to adjust the settings manually, make sure this is set to 1.


r_picmip [0,1,2] - Controls the mipmap level which affects texture quality. This is the same as the Texture Resolution setting under the Texture Settings section of the graphics options. A value of 0 seems to give the best image quality, while 1 and 2 provide poorer image quality at better performance - see the screenshot comparisons in the In-Game settings section. Note, if you change this setting via the console in-game, make sure to use the r_applypicmip command to apply it to the current game.


r_picmip_bump [0,1,2] - Controls the bump mapping on textures. This command corresponds with the Normal Map Resolution setting in the Texture Settings section of the graphics options. A value of 0 seems to give the best image quality, while 1 and 2 provide poorer image quality at better performance - see the screenshot comparisons in the In-Game settings section. Note, if you change this setting via the console in-game, make sure to use the r_applypicmip command to apply it to the current game.


r_picmip_spec [0,1,2] - Controls the specular light map used for textures. This command corresponds with the Specular Map Resolution setting in the Texture Settings section of the graphics options. A value of 0 seems to give the best image quality, while 1 and 2 provide poorer image quality at better performance - see the screenshot comparisons in the In-Game settings section. Note, if you change this setting via the console in-game, make sure to use the r_applypicmip command to apply it to the current game.


r_applypicmip - This command applies any changes made to the r_picmip_spec, r_picmip_bump and r_picmip settings (see above) while in-game. Use this command each time you alter these settings while playing, and see the Conclusion section of this guide for a neat discovery which can boost your FPS when using this command.



Audio Commands


Note: Most of these commands will require the use of the snd_restart command to work after changing, or a restart of COD 2.


snd_bits [8 - 16] - Sets the bitrate of audio in the game. The default is 16-bit audio which provides best audio quality, however you can set this to 8-bit audio, which may improve performance at the cost of some loss in audio quality.


snd_enable2D [0,1] - (cheat) If set to 0, disables 2D sounds - that is, sound effects such as clicking buttons and background music.


snd_enable3D [0,1] - (cheat) If set to 0, disables 3D sounds - that is, most sound effects in the game.


snd_enableReverb [0,1] - (cheat) If set to 0, disables reverberation effects used in EAX 3D sound. This can improve performance, but lessens the reality of 3D sound.


snd_stereo [0,1] - Sets the sound to Mono mode if set to 0, 1 for normal Stereo.


snd_volume [0 - 1] - Sets the precise level of the volume, from 0.0 to 1.0.



View Commands


This section only covers some of the more useful view customization commands. There are plenty more to be found if you need to customize various aspects of the game, however remember that many of these types of customizations can be considered cheats when online.


con_minicon [0,1] - If set to 1, shows the text output of console commands and game engine functions on the main screen. You can use the con_miniconlines and con_minicontime cvars to set the number of visible lines and the amount of time text output stays visible on screen respectively.


con_typewriter_printspeed [0 - 400] - Controls the print speed of text written on the screen using the 'typewriter effect', such as objective notifications. The higher the value, the quicker text will be written to the screen.


cg_drawHealth [0,1] - (cheat) If set to 1, draws a health bar on the screen. Normally your health is not shown, since after taking any damage you can usually heal to full health if you rest for up to 5 seconds.


cg_drawMantleHint [0,1] - If set to 0, disables the grey 'press Space to Mantle' prompt when you are close to climbable objects.


cg_hintFadeTime [0 - *] - Determines the time in seconds before an onscreen hint is removed. The time can be any value 0 or higher.


g_deathDelay [0 - ?] - Determines the number of seconds before the message you get after dying fades and you can restart. The default is 3 seconds (3000), however lowering this value means you can recover from dying and start again much more quickly.


cg_cursorHints [0,1,2,3,4] - This option affects the way the various text prompts which replace your cursor appear, such as the prompt to switch weapons when standing over a weapon. When set to 0, all such "cursor hints" are not shown, at 1 the hint is shown and pulses quickly, at 2 it pulses more slowly, at 3 (the default) the hint is shown but is static, and at 4 I see no difference compared to 3.


cg_hudCompassSize [0 - ?] - This setting controls the size of the compass at the bottom left of the screen. When set to 0 the compass is not show, and at 1 it is the default size. Larger values mean the compass takes up greater screen space.



Information/Diagnostic Commands


Note: If any of the values shown in these commands are not correct, you may have to check to see if you have the latest BIOS, motherboard drivers, graphics drivers, etc. See the Essential Optimization section of this guide for more details.


sys_cpuGHz - Shows the current GHz of your CPU. Note that AMD CPUs have a "performance rating" (e.g. 3200+) which is not the same as their actual GHz speed, so don't get confused.


sys_gpu - Shows your current Graphics Processing Unit (GPU) or more commonly know as the graphics card.


sys_sysMB [*] - Shows the amount of system memory (RAM) detected by the game. For example1024 is 1024MB, which is 1GB of system RAM. Unfortunately COD 2 doesn't seem to detect system memory correctly at the moment, since many people with 2GB of RAM (including me) are having it incorrectly shown by the game as 1GB. This command doesn't seem to allow a change either, regardless of where it is used.


snd_restart - Restarts the game's sound engine. This can help resolve any audio glitches and/or apply any changes you've made to the sound commands in the console without having to restart the entire game.


vid_restart - Restarts the game's graphics engine. This can help resolve any visual anomalies or glitches and/or apply any changes you've made to graphics-based commands in the console without having to restart the entire game.


map_restart - Reloads the current map/level from the beginning.


meminfo - Displays some memory usage stats in the console.



Multiplayer Commands


Note: Server-side commands are not covered here. See the Technical Manual for the game, accessed by running Index.htm under your \Program Files\Activision\Call of Duty 2\Docs\TechHelp directory, then clicking the Technical Help>Dedicated Server Help option.


disconnect - Disconnects from the current server.


I need more help in filling in multiplayer (client, not server) commands which are of any use. Please let me know if you have any.



That covers the list of what I believe are the most useful commands I've discovered so far. While there are a wide range of other commands which can be used in the game to do everything from customize the HUD through to changing the glow intensity of the sun, these are not covered here firstly due to space reasons, and primarily due to the lack of performance impact or control over aspects of the game. Many other commands which sounded good were also tried, and ultimately not included as they had no visible impact, nor made any difference to performance. A few commands were not included simply because I had no idea what to look for in terms of their impact.


So feel free to experiment with the commands and see what you can discover. I would really appreciate any feedback you have about the commands, such as any corrections to the descriptions above, any commands not listed which have a major performance/functionality impact, and any details you can provide on making certain commands work better. Email Me with the results of your experimentation if you believe they are worth sharing with others here - people who make significant discoveries will be given full credit in this guide.



The next section has some neat tips and tweaks and wraps up the entire guide.