We are writing an application that does some heavy spectrometer data
acquisition and the machine we ship with the software is a dual CPU Intel
based PC.
We run Windows XP Pro SP2

there are multiple exe/dll that are part of our software package. We want
the data acquisition software to run on one of the CPUs and we want ALL
other processes to run on the other CPU.

We wrote a service that watches the processes and sets the affinity to the
correct cpu
CurProc.ProcessorAffinity = (IntPtr)0x0001;

the works.......mostly.

What I'm seeing is that if I move a window of any running application (I'm
talking something as small as minimize a window) I see a CPU spike ON THE
WRONG CPU!!!! This is affecting the data acquisition. Just moving a window??

I guess I have multiple questions
a. What's going on?
b. Is there a different/better way to get all the processes to run on one of
the CPU and this one program to run on the other?
c. Would Win3K be any different?


thanks
mike