The problem is NOT switching threads between core, but a problem of a register that keeps track of time(sorry, but I don't use x86 alot and have forgotten the idiotic naming register naming scheme) go out of synch eventually between cores. So, when some bright boy programmer decides to read the timing register directly rather than going through a M$(or other) provided API AND the thread has switched cores AND the algorithm is timing dependent, BANG!, freaky results. i.e. too fast, too slow, choppy, jerks, etc.
IIRC the AMD "fix" just occasionally synchronizes the registers and adds an alternating timing method to windows startup. The download says it's for XP or XP-64, but it appears to work fine for my win2k setup as well. (I was getting insta night/day w/G3 so decided to try the AMD processor optimization fix on my win2k box and fixed the problem... no problems with any other games or apps since then either.)
BTW: If you do enough googling, and other searching you can find the exact problem description buried out there on the web somewhere.
|