OK, a beast of a post here- get comfy.
OK, I've done some digging. It seems my PC sometimes is not applying both cores (but sometimes is, weird). I remembered a while ago I couldn't get Orthos to load both cores unless I started the prog, Task Managed and set affinity to both cores, and then started a prime. A reboot of Orthos forgot my affinity settings. UT3 is behaving in the same way (it fully loads both cores if I set affinity in TM, alt-tabbing out at the menu).
So I found this aticle:
http://blogs.msdn.com/oldnewthing/archive/2005/03/21/399688.aspx
essentially informing the readers that if your Explorer.exe is set to run on only one proc (through affinity), any processes it spawns (i.e. all of them, through short cuts or Start Menu or Explorer Window) are ALSO on that same processor. This apparently can be set by some progs that plug into the Explorer shell (like e.g. Winzip, 7-zip, adobe, anything that adds stuff to the right-click menu) which don't like multi-proc and so set affinity to one only. Lazy sods!
So, I checked my Explorer affinity (after shutting down all explorer windows, leaving only one Explorer process- the Start menu/task bar)-lo and behold it was set to use only one proc. I've set it to use both through affinity on TM, and it was ok. Orthos now starts up with both cores without fiddling and totally avoids that annoying "affinity mask" error I couldn't resolve previously. Awesome!
Now to try UT3, and see if it uses both cores without setting affinity through TM. I can't try it now as I'm at work setting this stuff up remotely
If that does work, I need to identify which app has hijacked my explorer.exe affinity and remove it, or use IMAGECFG.EXE to try and set Explorer to use both cores manually. See, I think after a reboot, Explorer.exe will again be set to use one core. I learned about imagecfg.exe here:
http://forums.2cpu.com/showthread.php?t=7532
I just have to say I don't believe yet that
C:> imagecfg -a 0xmask prog.exe
The mask is a bitmap of CPUs you want prog.exe to be able to run on. Bit 0 represents CPU 0, etc., so 1 for CPU 0, 2 for CPU 1, 3 for both, etc. The hex prefix (0x) isn't strictly necessary for small mask values, of course.
will work- why would a bit value of 3 be all cores, when there are 4 cores CPUs out there? I'll try and report my findings tonight.
Again, sorry for a super long post.