Advanced tweaks for IL2 stutter/FPS problems.
#1

Short and sweet: Here are some tried and tested tips to improve your IL2 framerate that you've probably never seen before. I've got a lifetime of computer hardware experience and gaming, going back to C64/AppleII, and I've been tweaking games and hardware for a good long time. Trust me when I say I know what I'm talking about. I've been playing IL2 since 2004 and have heavily tested it on the following cards:

GF6800
GF7600GT
GF7900GT/GS (and in SLI)
GF8800GTS (not so much this one as I just had a chance to play with it last week)
RADEONX800XL
RADEONX800PRO
RADEONX1950PRO
RADEONX1900XT
RADEONHD3870 (my current card, got it about a week ago)

Nvidia cards run IL2-Sturmovik better than ATI cards natively due to better openGL support. This is not a matter of debate, it is a fact. It has been repeated and reported on countless forums and technical sites by people more qualified than I, and in more technical reasons than I will go into here. The primary reason is that IL2 is natively an OpenGL game, not a directX game. DirectX mode is inferior because it maps directx calls to openGL calls, and because not all calls can be mapped, some things will be displayed incorrectly or not at all. A framerate boost going from GL to DX does not mean your computer cannot run IL2 well in GL mode, or that DX mode is 'better' for you, it simply means that you need to tweak your system better to support IL2's openGL mode. Here are tips, specific card type tips are prefaced with their symbol (NV/ATI). I've tweaked il2 for the last few weeks (as some of you are well aware) on various hardware and now can finally speak with authority when I say I really know what makes this game lag. I'm assuming you have at least 1gb of memory and a CPU of at least 2ghz/2000+ equivalent, and of course GF6800 or Radeon x800 or higher.

(1 - NVIDIA ONLY)

Install nHancer. http://www.nhancer.com/ and make sure nvidia settings in the control panel are at defaults. No AA/AF, no vsync, etc. Use nHancer to clone a profile for il2 (if you need to, only some will need to) and then make sure the profile you will be editing has il2fb.exe as it's executable link. This way your settings will be applied every time you run IL2, but not for other games. nHancer can be used for all your games this way, but we're only concerning ourselves with IL2. In your cloned profile, assuming you have at least a 6800 series card, you may have 2x/4xaa and 16xaf (make sure to check the box for multisampling, not super sampling, but you can use super-transparency if you like). Gamma corrected AA should be checked, and make sure vsync is off, some of you might like it on but IL2 demands vsync off on most hardware (but not all). IF YOU USE SLI MAKE SURE THAT AFR3 IS THE MODE USED. This simple option took me forever to locate but once I used it a lot of stuttering disappeared.

(2 - ATI ONLY)
ATI cards work fine with AA/AF in IL2. Do not be scared to use them, they don't hurt your FPS much. Some cards need catalyst AI disabled, some do not, so experiment with that option. VSYNC MUST BE OFF. I cannot stress this enough. "ATI Stutter" in IL2, and for you long time ATI owners who know what kind of stutter I'm talking about because we've seen it in countless games, is caused by vsync in almost every case. It's not bad framerate, its those incredibly annoying jerks.

(3 - EVERYONE)
This part is nice and simple. Don't argue with me, do it. Go into the game and make sure the landscape is not on perfect. It should be 'excellent' -- everything else can be excellent, high, whatever maxed out. Open up conf.ini and go to the bottom (under the [Render_OpenGL]) and set the following options as follows (not in this order, just change the values as noted, IF NECESSARY):

HardwareShaders=0
Water=0
Forest=0
Effects=1
Specular=1
SpecularLight=0

TRUST ME. There are other things you can change here if you want to improve visual quality, and I can post a full guide to what most options mean, and what values are possible, if so desired. The ones posted above are the big framerate killers though, and none of them significantly degrade visual quality in my opinion, and I'm really a stickler for pretty graphics. If you've simply got to have shaded water and vsync, enjoy your stuttering. If you claim you can max it out including shaded water and everything else, great. Good for you, you obviously don't need my help. Most people can't, no matter what hardware they are running, and 'stutter' means different things to different people. Try what I've said here. You might be surprised at how smooth il2 can really get.

I will be willing to help people in this thread on a case by case basis as well, since many people on comms lately seem to be having troubles, and this is a much better place to work them out. I've barely scratched the surface on what you can tweak here, but I've tried to hit the high points on what will likely help a lot of people struggling to enjoy a smooth gameplay experience.

See you in the (hopefully soon to be lag free) skies!

EDIT1: After testing with many RS/SOF members it has become clear vsync is more important than I thought, and needs to be off no matter what hardware you have. If you really demand it on, do so, but you have been warned.

EDIT2: If you have widescreen and have not specifically set it up for IL2 by editing the conf.ini, you need to do so. If you have a 16:10 monitor (that supports 1680x1050, otherwise use whatever 16:10 res you like), replace these lines in conf.ini with the following values:

width=1680
height=1050
ColourBits=32
DepthBits=24
StencilBits=8
ChangeScreenRes=1
FullScreen=1
DrawIfNotFocused=0
EnableResize=0
EnableClose=0
SaveAspect=0
Use3Renders=0

If you have 16:9, use the following values (or whatever 16:9 res you like, wikipedia has a list if you need it):

width=1366
height=768
ColourBits=32
DepthBits=24
StencilBits=8
ChangeScreenRes=1
FullScreen=1
DrawIfNotFocused=0
EnableResize=0
EnableClose=0
SaveAspect=0
Use3Renders=0

EDIT3: VideoSetupId=17 for ATI cards, 3 for NVIDIA. This is ideal for all the cards I specified in the beginning (6800/r800 and beyond). PolygonOffsetFactor=-0.15 PolygonOffsetUnits=-3.0 are the correct values for both ATI and NVIDIA cards, at least at this point in my testing. ATI defaults to something else, I highly recommend changing it as ATI no longer has the numerous instances of polygon gaps as they once did (when IL2 was designed).

-- EDIT 19/3/08 ---
I received my personal upgrade last week, two Geforce 9600 GTs, and after another exhaustive round of testing have discovered the following:

1) IL2 is CPU locked. No matter what I do, the biggest gains in performance are ALWAYS related to CPU, either by upgrading it, overclocking it, or core tweaks. Upgrade/overclock your system accordingly, as this guide does not deal with that. I do highly recommend Intel's newest core2duo and core2quad multiple core processors for IL2 after building one for a squadron buddie last week, this despite being an AMD man for 10 years and counting. 3.2ghz smokes this game.

2) SLI is overkill for a system without the CPU to max the game out. Intel CPUs seem to favor IL2 and AMD CPUs seem to be very weak. Believe it or not, your ability to run with shaders on and high quality water is directly proportional to your CPU strength. A 3ghz cpu (actual 3ghz, not equivalent) with a 7900GT will SMOKE a 2ghz CPU with a 8800GTX. On my dual core X2-4600+ AMD SLI is meaningless for IL2, as I'm heavily locked by my CPU's relatively low core clock speed of 2.4ghz. I do not get a single FPS increase in the black death with SLI enabled, no matter what mode I use. In fact, the game seems to have a higher overall FPS average with SLI disabled. Probably due to the CPU overhead associated with SLI? Regardless, a CPU upgrade is much more important for IL2 these days than a video card upgrade, assuming you have something fairly good and recent (7600GT or higher, X1800 or higher).

3) Knowing the following I offer the following tweaks to go along with my tweaks earlier. THESE ARE FOR MULTI CORE SYSTEMS ONLY!

a) Download and install winxplauncher. http://www.majorgeeks.com/WinLauncherXP_d870.html -- Configure this program to run IL2 using whatever core you like (preferably not the first core, as that is the one windows uses the most). Nothing else needs to be changed except under SMP: AMD X2, Core2Duo, and multiple Sempron/64-FX systems should use CORE 2, Phenom and Intel Core2Quad should use core 3 or 4. ONLY USE ONE CORE. Il2 will not take advantage of multiple cores no matter how many you specify.

b) Open conf.ini and browse to find ProcessAffinityMask -- it should read after changes as "ProcessAffinityMask=0" -- Remove the ; comment in front of it if you have it, otherwise it will not work. I don't know why this improves framerate about 5 percent over 1 but it does. (and I think it is a bitmask, meaning 0, 2, 4, etc is the same, and 1, 3, 5, etc is the same as well)

c) Always start IL2 by double clicking on the profile you've made in Winlauncherxp. Test and post your results, but I think you will be pleasantly surprised at how much this smooths the game out. There is not a huge FPS boost, but the game FEELS much smoother.

Expect a revised, more complete tweak guide with pictures and tutorials in PDF format sometime in the future. It could come in 2 weeks or 20 weeks depending how busy I am. After that is done I will post it to the official forums as well as here, and request community idea submissions (because I know I'm missing some stuff).

Hopefully I will have a fully comprehensive, tested, and complete tweak guide for il2 by the summer.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 47 Guest(s)