I used to have Hyperthreading disabled on my i7, but recently re-enabled it to configure WoW instance 1 to CPU 1 and 2, instance 2 to CPU 3 and 4, instance 3 to CPU 5 and 6, and finally instance 4 to CPU 7 and 8.
Previously I used Keyclone to set affinity for CPU's (one instance per core), but I've now set each instance of WoW to use NONE on CPU affinity.
I then manually configured the config file with the SET processAffinityMask for each instance of WoW.
I configured each instance with 3, 12, 48 and 192 respectively. This means that each instance uses 2 CPUs, as described earlier.
Setting the keyclone CPU affinity to NONE, seems to leave the manually configured processAffinityMask in the config file unchanged.
One easy way to find the numbers used for processAffinityMask is to think binary.
00000001 = 1, CPU 1
00000010 = 2, CPU 2
00000011 = 3, CPU 1 and 2
00000100 = 4, CPU 3
.
11111111 = 255, All CPUs on a i7 with HT enabled.
Use a scientific calculator to convert the binary number to decimal if you have problems.
Doing this will allow you to decide exactly which processors (physical or virtual) you want each instance to run on.
I found this post as an invaluable resource for performace tips: Multiboxing Wiki - Multicpu, Multigpu, Multiharddrive, Multimonitor, etc and Bounded Issues. Revision 3. Work in Progress.
*Note that I've not used CPU 0 to start the CPU count, as this may be confusing from some.
Connect With Us