Crysis Tweak Guide

[Page 11] Advanced Tweaking (Pt.4)

Graphics Commands (Cont.)

Shadow Effects

e_shadows [0,1] - Turns all shadows on or off, and if disabled, can provide a large boost in FPS at the cost of realism.

e_shadows_cast_view_dist_ratio [value] - This setting controls the distance to which you can view shadows cast from most objects. The lower the setting, the less objects will cast shadows, which can improve performance at the cost of realism.

e_shadows_max_texture_size [value] - This setting allows you to set the resolution for the shadow maps in the game, with resolution values such as 256, 512, 1024 progressively providing sharper and more detailed shadows at the cost of a drop in FPS. If you want even better shadow quality, you can set higher values such as 2048 or 4096, but this will bring about a major drop in performance.

r_ShadowJittering [value] - This setting controls the way the edges of shadows 'jitter' in the game, effectively blurring and covering up jagged shadow edges. If set to 0, this makes shadow edges much crisper and can improve performance, but some shadows (such as your own) will appear more jagged; a value of 1 makes shadow edges more blurry.

r_ShadowsMaskResolution [0,1,2] - This setting effectively impacts on the general appearance of shadows, with values above 0 noticeably reducing the quality of more distant shadows, in return for higher FPS.

e_gsm_range [value] - In essence appears to control how dispersed shadow edges appear. Experiment with values to see what you prefer, but on my system anything other than 3 would result in an increase in blurriness as well as a drop in FPS. If you simply want to control the sharpness of shadow edges, you might prefer to use the r_ShadowJittering command instead.

e_gsm_lods_num [0-5] - Controls the number of shadow maps used, with the higher the value, the more detailed the number and type of shadows. A value of 0 removes all shadow maps, including those cast by fixed objects. Lowering or disabling this option can boost FPS noticeably, though it reduces realism as well.

General World Clarity and Detail

r_FSAA - There are three settings starting with r_FSAA which control Full Screen Anti-Aliasing (FSAA) in Crysis: r_FSAA controls whether Antialiasing is being used (= 1) or not (= 0); r_FSAA_samples determines the actual sample rate of Anti-Aliasing; r_FSAA_quality determines the quality mode, affecting the overall type of Anti-Aliasing used in conjunction with the sample rate. Ideally you should alter these settings using the in-game Anti-Aliasing Quality setting, since the sample rate and mode values differ depending on both the type of graphics hardware you're running, and whether you're using DX9 or DX10. To see the values implemented at various AA levels on your particular system, check the two FSAAProfiles.txt files found under your \Program Files\Electronic Arts\Crytek\Crysis\Game\Config directory for details. Note that this form of Antialiasing only works if Shaders Quality is High or above, and it is also incompatible with the r_UseEdgeAA command; only one or the other can be enabled.

r_UseEdgeAA [0,1,2] - This setting controls the level of edge blurring applied to reduce the impact of jagged edges in the game, particularly on foliage. A value of 1 applies some mild edge blurring, which can reduce the jaggedness and shimmering of the image, but will reduce FPS slightly; a value of 2 further blurs/thickens jagged edges for another potential drop in FPS. You can see an animated image quality comparison of it by clicking here: Crysis_EdgeAA.gif (530KB). Note this setting will only work if your Shaders Quality setting is on High or above, and can't work in conjunction with normal AA; Edge AA is automatically disabled when regular AA is enabled.

sys_flash_edgeaa [0,1] - This setting controls the use of edge anti-aliasing on any flash files used in the game. The most obvious impact of disabling this option is that it makes the HUD elements - such as your Health/Suit Energy indicators at the bottom right - more jagged. For the most part this shouldn't be disabled as the performance impact is not major.

r_TexMaxAnisotropy [1 - 16] - This setting controls the maximum amount of Anisotropic Filtering used on textures in the game. Higher sample rates will make distant textures clearer at the cost of some FPS. Note that it appears that enabling r_UsePOM=1 will cause problems with Anisotropic Filtering being applied properly.

d3d9_TextureFilter [nearest,linear,bilinear,trilinear] - This command controls the type of texture filtering used to make textures sharper. Trilinear is the default and provides the best quality, but you can gain performance at the cost of image quality by reducing it to bilinear, or even linear. Note that at nearest, the lowest value, there is noticeable color gradation and even the console text becomes blocky.

r_TexResolution [value] - This setting appears to control the resolution of textures used in the game. At 0 full resolution is used, and successively higher values reduce the resolution of textures in return for a reduction in memory usage and hence stuttering, as well as a potential increase in FPS.

r_TexturesStreaming [0,1,2] - This setting controls the streaming texture system in the game, and if set to 0, textures are not constantly streamed as you walk around, they are preloaded from a cache. If set to 1, it is enabled, and if set to 2, it uses a more aggressive form of streaming. While disabling texture streaming increases memory usage, and hence may cause additional stuttering on systems with low RAM, for the most part disabling it should cause no problems and will reduce stuttering on most systems. More importantly, disabling it also appears to improve more distant textures without any real drop in performance. You can see an animated comparison by clicking here: Crysis_TexturesStreaming.gif (818KB). As you can see, the distant mountain terrain, especially near the base of the mountain, is much clearer with this setting disabled.

Update: Disabling Texture Streaming (i.e. setting it to =0) can cause crashes and graphical corruption, particularly in Crysis Warhead. This is a known issue.

r_UsePOM [0,1] - If set to 1, enables Parallax Occlusion Mapping (POM), which makes many surface textures in the game - particularly rocky or pebbled-covered areas, such as those in forests or at the beaches - appear raised and much more realistic. You can see an animated image quality comparison of it by clicking here: Crysis_POM.gif (672KB). However this comes at the cost of some FPS, so it can be disabled without a dramatic loss of image quality. Also note that it can affect the appearance of Anisotropic Filtering, so disable it if you wish AF to be applied properly.

e_lods [0,1] - If set to 1, enables the Level of Detail (LOD) system which uses progressively less detail on objects as they recede into the distance. This reduction in detail improves FPS noticeably, so the LOD system shouldn't usually be disabled. However if you want the highest image quality, setting this command to 0 will disable the use of LODs, improving object and world detail at the cost of FPS.

e_lod_max [value] - This command, combined with the e_lod_min command, determines the number of LOD levels the game uses to strip details from objects. The higher the value for the minimum and maximum, the more details can be removed from some objects as they recede into the distance, which can improve FPS when the LOD system is enabled, at the cost of image quality (system).

e_lod_min_tris [value] - When the LOD system is enabled, this command determines the minimum number of triangles to use for any LOD. In other words, the lower this value, the less detailed distant objects are allowed to be, as less triangles will be used to construct them, and FPS will improve at the cost of some image quality (system).

e_lod_ratio [value] - Controls the overall ratio of LOD to distance. When raised, more objects will retain their detail and FPS will be lower; when lowered, objects will show less detail but FPS will rise.

 e_detail_materials_view_dist_xy [value] - This setting controls the distance out to which details can be seen on the surfaces of terrain. The higher the value, the higher the image quality as more distant terrain will show more detail, but this may reduce FPS. Note that when experimenting with this command in the console, you may need to change your view to another direction briefly then back, to allow new details to update over existing ones.

 e_detail_materials_view_dist_z [value] - This setting primarily controls the global amount of detail on the ground, with the lower the value the more blurry certain ground features will appear, but the higher your FPS may be.

e_terrain_texture_lod_ratio [value] - This setting controls the level of detail of terrain textures, and the higher the value, the more blurry terrain textures will be, possibly improving performance.

e_view_dist_ratio [value] - This setting controls the maximum view distance for general objects in the game - the higher the value, the more objects are visible at a distance, the lower the value, the less objects will be seen. Reducing this setting can improve FPS noticeably, especially in areas with a lot of complexity. However not all game objects are affecting by this setting - see the other e_view_dist settings for more details.

e_view_dist_custom_ratio [value] - This setting controls the maximum view distance only for 'special' game objects, which include the friendly and enemy characters, as well as vehicles. While reducing this setting will improve FPS as these are quite complex objects, it can also present a gameplay disadvantage, since you won't be able to see the enemy (or vehicles) as soon as you might otherwise (system).

e_view_dist_ratio_detail [value] - This setting controls the maximum view distance only for detail objects, and once again lowering the value will remove more of these objects and improve FPS at the cost of realism.

sys_LowSpecPak [0,1] - If set to 1, either uses a special lowspec.pak file which contains lower quality textures that can decrease loading times and improve performance on low-end machines, or it uses the r_TexResolution and r_TexBumpResolution to emulate lower quality textures for similar results.

Particle Effects

e_particles [0,1] - This setting controls the particle system, and if set to 0 disables all particle effects, such as smoke and dust. Note that disabling particles also disables particle-based distortion effects such as heat distortion. Disabling the particle system can dramatically improve FPS, especially during heavy combat and around explosions, but it also significantly reduces realism (system).

e_particles_max_emitter_draw_screen [value] - This setting controls volume of particle effects, and the higher the value, the thicker the particle effects such as smoke will be at the cost of FPS, while the lower this value the less particle effects there will be but the higher your FPS around such effects.

e_particles_lod [value] - This setting also impacts on the richness of particle effects. Higher values increase the quantity of detail of particle effects, but the lower your FPS. It also seems to effect 'particle-like' objects including flies, butterflies and ejecting shells from your gun. In general if you want to improve FPS (especially in combat) but not remove particles altogether, try a lower fractional value such as 0.5 or 0.3 to thin out particle effects without totally removing them.

i_particleeffects [0,1] - If set to 0, disables weapon-specific particle effects, which includes the muzzle flash and heat distortion around the barrel of guns for example. This can improve performance when firing a weapon at the cost of some realism.

r_UseGSParticles [0,1] - If set to 1, this option enables Geometry Shader particles. Note that this command only works under DirectX10, and in my testing it didn't appear to have a significant performance or visual impact either way (system).

r_UseParticlesRefraction [0,1] - If set to1, this command allows special particle-based refraction (distortion) effects, such as the heat distortion around your gun barrel when firing, or the heat waves around a burning object. Turning this option off can improve FPS, especially in heavy combat.

r_UseSoftParticles [0,1] - This setting controls whether soft particles are used, an effect which means that particle effects like smoke blend more smoothly with their surroundings, rather than showing pronounced edges when they meet other objects. You can see an animated image quality comparison of it by clicking here: Crysis_SoftParticles.gif (524KB). If set to 0, this disables soft particles which improves FPS around a range of particle effects.

Vegetation and Wildlife

e_vegetation_min_size [value] - This setting allows you to set the minimum size of the vegetation to be shown - the higher the value, the less vegetation/foliage there will be, which thins out foliage and boosts FPS in outdoor areas (system).

e_vegetation_sprites_distance_ratio [value] - This setting controls the distance at which vegetation is actually rendered as simple sprites rather than complex objects. The lower the value, the closer the vegetation which is turned into blocky sprites in return for higher FPS; conversely if you want better image quality at the cost of FPS, raise this value to make distance vegetation more detailed.

e_view_dist_ratio_vegetation [value] - This setting controls the maximum view distance for vegetation/foliage, and lowering the value will reduce the amount of vegetation visible, boosting performance but lowering realism.

r_VegetationSpritesTexRes [value] - Determines the resolution of sprite vegetation - the amount of sprite vegetation you will see in the distance is itself determined by the e_vegetation_sprites_distance_ratio setting. Raising this value slightly can improve the appearance of any sprite vegetation without a major drop in FPS, however raising it or lowering it significantly can dramatically reduce FPS.

e_proc_vegetation [0,1] - If set to 0, disables all procedurally drawn vegetation. In effect this seems to marginally thin out some existing vegetation and increases FPS without a dramatic reduction in image quality. Alternatively you can use the e_proc_vegetation_max_view_distance setting to determine the distance at which procedurally drawn vegetation is removed. Again, in either case, in my testing the visual impact didn't seem significant, so simply disabling procedural vegetation might be of most benefit.

e_vegetation_use_terrain_color [0,1] - If set to 1, vegetation will take on a similar color to the underlying terrain, which helps it blend better. However you can set this to 0 to see if you prefer the different look which it brings, as vegetation will have more varied color.

e_foliage_branches_damping [value] - Determines how branches and foliage leaves react to motion. The higher the value, the more stiff branches and leaves will be when shot for example; the lower the value, the more rubbery they will seem. The equivalent setting for controlling broken branches is e_foliage_broken_branches_damping. The FPS impact seems minimal.

e_phys_foliage [1,2] - This setting controls the way in which physics affects foliage in the game. A value of 1 means only dynamic objects, mainly trees, will interact realistically when brushed against or shot for example; a value of 2 means all major foliage will interact with realistic physics. Setting this to 1 may improve performance especially when walking through heavy foliage, at the cost of some realism.

e_vegetation_wind [0,1] - If set to 0, this command disables the impact of wind on vegetation. This doesn't mean vegetation/foliage will stop moving, it simply means that additional wind effects won't be displayed on the vegetation, which can improve performance at the cost of realism in certain situations (system).

e_flocks [0,1] - If set to 0, removes all bird and fish, which can boost FPS in areas with this type of wildlife at the cost of some realism.

e_flocks_hunt [0,1] - If set to 0 (and e_flocks is not disabled), whenever you shoot a bird in the sky, it will simply disappear rather than fall down. The performance benefit is minimal.

The next page brings the list of Crysis command variables to a close.