Setting affinity doesn't really "link" a process to a CPU-core -- it RESTRICTS the process from running on other CPU-cores. That restriction means that FAH will back off quicker and interfere less with foreground applications.noorman wrote:Affinity only links a process to a processor core; FaH still works as before and still will only use 'free' cycles, I believe !.
Let's assume that you have a Quad machine and you're running SMP which creates 4 copies of FahCore_A1.exe. If you start up a foreground process, it will grab one of the CPU-cores for some amount of time. During that time, one specific copy of FahCore_a1 cannot run even if the other three copies finish the block of work assigned to them. The other three copies may need to synchronize their results with the results from the first copy so they, too, may have to wait. Overall, FAH will run slower than if affinity restrictions had not been placed on the first copy of FahCore_a1.
When no foreground application is running, FAH may run more efficiently. When a foreground application is running, the foreground application may run more efficiently because FAH will run less efficiently.