Permanently assign cpu core to program?

Is there a way under Vista to have a program always uses certain number of cores. I know how to do it when its running by changing the affinity but what about having it setup that way on the program startup.

First off, a disclaimer. There are very few good reasons to override the O/S thread scheduler in this regard. A lot of people think there is some optimization they can achieve by manually fiddling with this stuff but most of the time it’s very hard to beat the O/S scheduler in terms of efficiently matching applications to available resources realtime. So meddle at your own peril.

That being said, Here you go, have fun

There are other reasons to set affinity aside from optimization. There are a few older, but not so old, games with known bugs when running on a multiple core system. I seem to recall Call of Duty 2 was one of them. Permanently assigning a core eliminates the need to alt-tab and set the affinity in Task Manager every time you launch the title.

Thats sort of what I was thinking of. I didn’t know if trying to use software like say the SMP version of Folding@home or encoding something in Handbrake while also playing a 3D game would maybe effect the game since those programs will seem to max the CPU cores if its availible as far as I know.