jazman
Posts: 369
Joined: 1/20/2007 From: Crush Depth Status: offline
|
The problem with a program that is not specifically written for multi-core CPUs (or multi-CPU machines), but that churn a lot of CPU continuously, is that the OS tries to balance the load across the CPUs, and so with WITP-AE MS Windows is switching the exe between the two cores constantly. That is a performance hit, in this case a major one, I remember seeing it with IL-2 way back. Binding it to a CPU means it will run on that core and only on that core. You cut out the OS switching the exe back and forth between the cores, so there goes the overhead, overboard. If you right-click on the windows taskbar and select "Task Manager" and look at the "Performance" tab (and I think on XP you select a check box to show CPUs independently), you can see the difference. Before: the CPU load is balanced across the two cores (or four, as applicable). After: one CPU is pegged. This is good (and assumes nothing else is eating CPU). Also, it ought to work for AMD CPUs, since setting the affinity is an OS kernel-level activity, not CPU chip related. Thus, the executable is probably inserting some Windows-specific junk to make this work. After all, you can manually do this, as shown earlier, by right-clicking the process and setting it. It's all OS, not CPU. I think.
|