what exactly is the Selector?
Didn't think I'd meet someone in 2019 who doesn't know
https://www.sas1946.com/main/index.php/topic,16403.0.htmlI dunno about a placebo.
Okay, time to elaborate a bit further.
The il2fb.exe
4GB version is a binary edited il2fb.exe which the Java VM's maximum heap size ("xmx" parameter) set to
1GB and with the "LAA" (large address aware) flag set in the executable.
The latter is simply placebo because we're talking about a 32 Bit executable. Setting the "LAA" flag doesn't make it magically use a maximum of 4GB instead of 2, it just makes the OS create a virtual 4GB slot for that process, of which it could only use the first 2GB, just as before.
The internet is flooded with "tools" to set that LAA flag on 32 bit executables. They popped up back in 2007 with Windows Vista and the 64 Bit hype. None of them does any good. It's all pure genuine placebo.
So... in the end, with the "4GB version" of il2fb.exe, you effectively have an IL-2 executable which limits the
maximum heap size to 1GB (instead of default 96MB). Just that. Nothing less, nothing more.
That maximum heap size is particularly important for the FMB.
In the normal game, you notice little to no effect.
Add to that, the fact that only the
maximum size has been set can have negative impact: In Stock IL-2, both the initial and the maximum heap size are set to the same value (96MB).
The reason is that by doing so, you avoid excessive heap size adjustments by the JVM when lots of objects get created and destroyed dynamically.
And it's
only the heap that gets increased - not the stack, not the permanent objects memory, only the heap. Good for FMB, bad for normal gameplay.
Now let's see what the IL-2 Selector does in contrast:
The Selector
always sets initial and maximum memory sizes to the same values. No dynamic forth and back = optimal performance.
In the default "balanced" mode it will distribute the available memory in a way that suits IL-2 best, e.g. when you select 768MB (which is a good balance for most systems), you will get 666MB heap, 6MB stack and 96MB permanent objects size.
Even if you are a map maker and need as much heap as possible for unlocked FMB operation, the Selector will work best:
In "conservative" mode it will give all memory to the heap, in a similar way like the binary hacked il2fb.exe files, but with both initial and maximum size set accordingly.
The latter is also important when you build a really huge map:
The binary hacked il2fb.exe versions, as mentioned earlier, only set the
maximum heap size.
What can and will happen when you have 1, 1.5 or 2GB versions that way is that the game will seem to work initially, but once you
really need the heap - which is when you are just about to have put the most work into your map - the game will suddenly crash to desktop without prior warning.
Why? Because your system might not be able to actually use 1, 1.5 or 2GB in the il2fb.exe slot.
You just won't notice, because
initially everything's fine, but only as long as you don't need it.
Not so with the Selector.
If you set a value that is too high for your system to deal with, you will notice immediately because the
initial size is set to that value, so the game won't start at all.
Therefore you can adjust the size to what your system can deal with by try&error - anything starting at 1GB can become tricky and the Selector will clearly tell you so.
Mike