Quote:
Originally Posted by Outlaw
I recently upgraded my game rig from a dual core Intel to a six core AMD based machine and simply copied my game directory to the new rig. This has worked in the past, but, I have never changed processor architecture before. The result is that 4.11m runs very poorly (I didn't even try 4.10m on this rig before patching to 4.11m). I know there were some processor specific dll files that went around but I can't remember what they were.
Does anyone know if the current code needs the processor specific dlls and, if so, what and where those files are located.
Also, has anyone had experience with such a switch and would it be better to just reinstall from scratch. If that is the case, what is the upgrade path? I don't think I have every single patch saved from 1946 on.
Thanks!
--Outlaw.
|
It's possibly a combination of
drivers for mobo chipset/s, gpu, cpu, ram timings etc etc.
Have a good look at the manual for setting up the mobo correctly,
sometimes putting a new PC together can result in an oversight in the small detail being missed over the big new shiny stuff
Setting the process affinity mask can help also.
My quad core uses
core number 3 to run IL2 set like this in the conf.ini
ProcessAffinityMask=4
Which is > Bitmask: 00100 = Decimal 4
Below is a short explanation that might help .
Processor Affinity Explained
"IL-2 is not a ,multithread application." True
IL-2 only uses 1 core" False.
=1 - core 0
=2 - core 1
=3 - core 0+1
=4 - core 2
=5 - core 0+2
=6 - core 1+2
=7 - core 0+1+2
=8 - core 3
=9 - core 0 + 3
=10 - core 1 + 3
=11 - core 0 + 2 + 3
=12 - core 2 + 3
=13 - core 0 + 2 + 3
=14 - core 1 + 2 + 3
=15 - core 0 + 1 + 2 + 3
commented out - all cores
If a core is enabled, it does NOT mean that core will be performing 100% while the other cores that are not enabled do nothing.
The enabled core needs an active thread to perform,
The disabled cores will be assigned tasks by the OS if needed.
There is only one way to switch off cores - the power switch - meaning all or nothing lol.
An understanding of binary bit system will help with the next section.
Binary is simply an on/off value for a particular bit location.
It is read from right to left as follows:
0_0_0_1_1_1 = 7 Binary
32 16 8 4 2 1 = 1+2+4 = 7 Decimal equivalent
As seen, this value of 7 would enable cores 0 1 and 2 (first, second and third cores on a 4 core system).
a '1' bit will enable the core, a '0' bit disables it.
Actual activity of cores can be checked through TaskManager. Keep in mind in general Windows OS runs hundreds of threads at the same time IL-2 runs.
A substantial part of IL-2 is written in Java which can use in excess of 100 threads. (source: Sun Microsystems) Shift-Tab opens the Java console in-game that's where all those white messages come from.
Bitmask: 00000 = Decimal 0
Processor affinity is off, and the load is distributed across all available processors.
Bitmask: 00001 = Decimal 1
Processor 1 selected. The process will only run on processor 1.
Bitmask: 00010 = Decimal 2
Processor 2 selected. The process will only run on processor 2.
Bitmask: 00011 = Decimal 3
Processors 1 & 2 selected. The load is distributed across both processors, effectively the same as setting 0 above for Dual cores.
Because 0 puts the load across all processors and 3 puts the load on processor 1 and 2, they are essentially the same thing for Dual core CPUs.
For Quad core CPUs you can use more values:
Bitmask: 00100 = Decimal 4
Processor 3 selected. The process will only run on processor 3.
Bitmask: 01000 = Decimal 8
Processor 4 selected. The process will only run on processor 4.
And any combo between 0 and 15, for example:
Bitmask: 00101 = Decimal 5
Processor 1 and 3 selected. The load is distributed across processor 1 and 3.
Bitmask: 01111 = Decimal 15
Processor 1, 2, 3, and 4 selected. The load is distributed across all processors, 1, 2, 3, and 4.
Hope you get it sorted.
.