The noob's guide to optimizing Crysis

Developer(s):  Crytek 
Key Creator(s):  Cevat Yerli 
Mike Doolittle's picture

We Just Weren't Ready Yet

I don't care what Cevat Yerli says about their "upscaling" game engine, Crytek's partnerships with Intel and nVidia, or the many gamers (including me) who insist that Crysis scales well and runs just fine. The reality is that this is a game that, despite a relatively lengthy development cycle, was probably released one generation of hardware too soon.

Any seasoned PC gamer expects that not every game will grant them 60 frames per second at maximum settings in 1920 x 1200 resolution. But when even the most costly dual-card setups struggle to run Crysis at its vaunted "very high" settings, something is clearly a little out of whack. Sure, Crytek will patch the game, nVidia will continue to improve its drivers, etc. etc., but it is unrealistic to expect any dramatic changes in performance.

Fortunately, Crytek have made their CryEngine2 a very flexible, "tweakable" engine. While the in-game settings provide enough flexibility for most gamers, those wishing for the absolute best combination of performance and image quality will want to dive into the game's intimidatinly vast command variables, or Cvars. I've spent a lot of time fiddling with Crysis settings. I've scoured the 'Net and tried lots of suggestions. And I've found what is, as far as I can gather, about the best combination of performance and quality I can get. So I'd like to share with my fellow PC gamers a few tips and tricks to get the game running and looking its best.

Revise your expectations

I'm running an Intel quad-core @3.2ghz, 2GB of RAM, and a robustly overclocked nVidia 8800GTX on a 22", 1680x1050 display. Yet despite a beefy rig, the only time I've been able to keep this game consistently at 60 frames per second is using the "low" graphical settings. However, Crysis is a very playable game at 25-30 frames per second, mainly due to a well-implemented use of motion blur. I cannot use anti-aliasing in this game without cranking the resolution down, which messes up the image quality far more than it's helped by a little AA. Crysis uses an incredibly advanced graphics engine that is rendering tons of unique, interactive objects in large, open areas. It's simply unrealistic to compare it to games like Bioshock or Call of Duty 4 that take place in mostly static, confined spaces. Unless you're willing to play a game that looks like Far Cry, don't expect to see sky-high frame rates. The goal should be a playable, consistent frame rate.

Also remember that in a game where 25-30 frames per second is playable, even a minor improvement in frame rates (say 3-5 frames per second) can make the game feel significantly smoother.

Know what works

Based on my experience, there are only a handful of graphical settings that significantly affect performances. They are, in order of degree:

1. Shader Quality — This affects both image quality and performance more than any other setting. Turning it to "medium" will speed the game up dramatically, but with a significant loss in visual detail

2. Object Quality — Often overlooked, Object Quality affects the number, size, and quality of every object in the game world. Turning it to medium or low will produce a significant boost to frame rates, but distant objects will not be rendered, fewer objects will be on screen, and there will be noticeable "draw-in".

3. Shadows — Simply turning shadows to "medium" can produce a nice performance boost with minimal visual impact versus the "high" settings. "Low" simply turns all shadows off, and "very high" creates soft shadowing that is extremely system-intensive. Crysis uses real-time lighting and shadowing across all objects, so even the leaves of every tree cast a realistic shadow. So even at lower quality, the shadowing is extremely complex.

4. Post Processing — This setting controls things like depth of field and motion blur. Contrary to popular belief, motion blur (enabled when Post Processing is set to "high" or higher) does not produce a significant loss of frame rates. In fact, turning off motion blur is a big mistake because although the frame rate might be negligibly higher, it won't seem as smooth. Turning off "hit blurring" and depth of field can improve frame rates during combat.

And that's about it. Texture quality did not affect performance at all on my system, but may if your video card has only 256mb of vram. No other setting I experimented with affected the the frame rate to any significant degree, save for water, which will smooth out frame rates when set to "low" ("medium" and above did not provide any difference in performance for me). Physics and sound settings may affect performance if you have a low-end CPU (less than a 2.4ghz dual-core).

Oh, and another thing before we get to the nitty gritty... play the game in DirectX 9, even if you have Vista (in Vista, simply right-click on the game icon to see the option to play it in DX9). It was designed in DirectX 9, and despite the DX10 code being added during development, it's still just a hair more choppy than its native DX9. There also seem to be more odd performance glitches in DX10.

Tapping the Cvars

The secret to making Crysis look and perform its best lies in the command variables. To find them, go to C:>Program Files>Electronic Arts>Crytek>Crysis>Game>Config>CvarGroups. The first thing you must do is make a backup of this folder. However, do not store the backup in the same folder. For whatever reason, I found that my tweaks didn't work until I moved the copy folder out of the "Config" directory. I simply stored it in the Crytek folder. Open these with Notepad. Notice that the commands are organized into a top group marked "= 4", then three groups labeled "[1]", "[2]", and "[3]". These are, respectively, very high, low, medium, and high settings.

Alternately, you can create a file using Notepad, and save it as "system.cfg". Store it in the "Crysis" directory. You can put the relevant commands here, and the game will utilize them automatically.

"Very High" look without the performance hit

There are a few system settings that can make the game look virtually indistinguishable from the "Very High" settings, with virtually no performance impact. In order to do this, your PC will need to able to run the "high" shaders at roughly 25-30 frames per second. Otherwise, disregard this section and use "medium" or "low" shaders.

First, under the Cvar titled "sys_spec_Quality", scroll down to the [3] section, and change the following command:

q_renderer=3 — This doesn't do much by itself, but it's necessary for a couple of key effects. Save and open the folder titled "sys_spec_Shading". Under the high settings, change the following commands:

r_SSAO=0 — This is alters the lighting slightly, but is virtually unnoticeable. Setting it to zero provides a nice boost to frame rates.

r_usePOM=1 — This enables parralax occulsion mapping, which makes textures look much more realistic with little to no impact in frame rates.

Next, go your Post Processing Cvar folder. Change the following values under the "high" settings:

r_colorgrading=1 — This dramatically changes the color depth of the game, so it looks like "very high" settings.

r_useedgeAA=2 — I like to add this one in. It won't affect performance, but it reduces the shimmering effect on distant trees for a more pleasing overall look.

r_sunshafts=1 — This is strictly optional, as it does tax frame rates a little, but not drastically. This setting adds "god rays" to the sunlight. I generally prefer it off, as even though it looks cool, I'd rather keep those 2 or 3 frames per second.

r_motionblurshutterspeed=0.03 — This is simply a favorite of mine, an optional command to add. It increases the motion blur effect slightly, making the game appear more smooth. It does not affect performance.

Next, go to the Object Detail folder, which controls the Object Quality setting in the game. This is a bit of an ace in the sleeve, one that most folks overlook, that can really improve performance. The problem with the vanilla settings is that they scale poorly — reducing Object Quality to medium or low not only reduces the number of objects and view distance, but leaves players with a lot of unsightly draw-in. With this tweak, the goal is to reduce the density of relatively insignificant objects (brush and the like) while preserving view distance and draw distance. Under the "low" quality group ([1]), make the following changes:

e_view_dist_ratio_detail=60

e_view_dist_ratio_vegetation=60

e_vegetation_min_size=1

e_detail_materials_view_dist_xy=2048
e_detail_materials_view_dist_z=128

ca_AttachmentCullingRation=200
e_terrain_occlusion_culling_max_dist=200

Lastly, open the "shadows" folder. While I recommend that shadows simply be set to "medium" for the best combination of performance and quality, you can alternately copy the "very high" specs over the "high" specs, then alter the shadow map size and blurring as:

e_shadows_max_texture_size=512

r_ShadowBlur=1 (or 0 to disable)

This will preserve the distant view and soft shadowing of the very high settings, while reducing the overall performance impact.

For all other Cvar groups (textures, particles, game effects, water, physics, sound, and volumetric effects), you can simply overwrite the "high" specs with the "very high" specs. The performance impact will be negligible, if there is one at all.

Put it all together

Now simply boot the game, and select all "high" settings except for Object Quality, which should be set to low, and Shadows, which if you are not using the tweaks should be set to medium. Now remember, you can either alter the original Cvars, or simply copy all the commands into a single "system.cfg" file stored in the "Crysis" directory. Both work just fine.

The game will still be quite demanding, make no mistake. This will not magically give you 60 frames per second. But it will give you a game that looks virtually indistinguishable from the default "very high" settings with only a fraction of the performance impact. And even if you can't run the shaders at a "high" equivalent, you can still get a great performance boost with the Object Quality tweaks. Enjoy!

Reading this is sort of

Reading this is sort of making me glad I've kind of phased out of PC gaming. I used to be OCD about tweaking games to maximize them for my system, and in the case of Crysis I have a feeling I'd spend more time tweaking settings than I would be actually playing the game.

seluropnek wrote: Reading

seluropnek wrote:

Reading this is sort of making me glad I've kind of phased out of PC gaming. I used to be OCD about tweaking games to maximize them for my system, and in the case of Crysis I have a feeling I'd spend more time tweaking settings than I would be actually playing the game.

And yet you are still found lurking about game tweaking guides which suggests that on a psychological level, your OCD has now graduated to voyeurism, hmmmmmm

Regardless, a well written article that I will print and attempt some of the suggestions. The game runs well on my system on med...but always looking for better.

Excellent write up!

This is just what I was looking for. Thanks for your (obviously) hard work. I know it took some time to get this info, and I appreciate your efforts.

Update!

With regard to Object Detail/Quality settings, I have found that simply setting e_vegetation_min_size to "3" under the "high" settings produces a similar performance boost with less draw-in.

THANK YOU!

I sincerely thank you for this well written guide and all your hard work. Thanks to your instruction I was able to gain an extra 10 FPS average (making my average FPS = 25, when it used to be about 15) and the game looks far better than it did before. It is so much more playable and I can't believe it looks this good.

You have no idea how happy you have made me, thank you!

For those who may be wondering what is possible on their system, here is mine (all at stock settings, nothing is over clocked):

8800 GTS 320 mb
4 GB Crucial Rendition ram
Intel Core 2 Quad Q6700 processor @ 2.66 ghz
Intel Desktop Board DG33TL Media Series
Game is running in Vista 64-Bit with DX10 support
(Everything is according to guide with shadows at medium and r_sunshafts=0)

Thanks!

Hi, Thanks so much for this well written tutorial. I will try these out. I run the game all high setting in Vista 1280 x 1024 get playable fps as it is so. I hope this will really help out though more so. Running XFX 8800GT 670 OC edition, Corsair 4GB 800MHz, Q6600 :) I agree with poster, still prefer my Xbox 360 for gaming much less demanding.

I have to admit this is

I have to admit this is helpful, but if I were to ask you:

Blow the detail, I want speed, SPEED, smoothness and playability. Would setting everything to low a wise idea? Or would side effects rush in?

Want top SPEED in Crysis?

Want top SPEED in Crysis? Try this:
- set everything to LOW
- press ~, type: exec sketch_on

You may want SPEED but you

You may want SPEED but you got to keep in mind that this game is intended for detail. Alot of time was spent on the "detail". Yes you can play it on low and play smoothly, but to me, the game is where the detail mixed with the gameplay makes for an amazing gaming experience. Thanks you so very much for writing this tutorial. I will deffinitly try this out. As of right now, I have the Physics, Shaders, Postprocessing, Game Effects all on "very high" with the reconfigured files as I'm on XP. I have DX10 installed and currently getting all DX10 effects on XP. If you want to do that, look up Alky Project on google and its on their website. I can play the game pretty smoothly with the occasional hiccup. Here are my specs:

AMD Athlon 64 X2 4600+ (2.2ghz)
1GB DDR2 Ram (Bottleneck)
Nvidia GeForce 8800 GT OC 512mb GDDR3

I'm loving the game, I think it looks quite amazing.


Take this survey to help improve our site.

About Us | Contribute | FAQ | Contact Us | Mobile | RSS
Copyright 1999–2008 GameCritics.com. All rights reserved.