Martin's claim about Windows XP is what we have found on single processor without any hyper-threading. With hyper-threading or with multi-core on a single CPU Windows XP and Linux does provide good timing with keyboard/mouse support provided you only have one real-time thread per pair of logical processor. This is without any affinity done. ie. it seems like the OS schedules the real-time thread on one logical/physical processor and the rest on the other processor.
On Tue May 8 22:24 , Martin Spacek
Has anyone had experience running visionegg on a multi-core machine? I'm
wondering if it would be possible to have visionegg running on one core,
and everything else (including the OS's keyboard polling process,
whatever that may be) on the other core. My hope is that way, one could
run visionegg with the absolute highest priority (in windows, that would
be realtime for both process and thread priority), without giving up the
ability to capture keyboard events with pygame.
I'm not even sure if Windows 2000 can handle multiple cores. I seem to
remember reading it can handle up to 2 CPUs. Any idea how you'd go about
specifying that you want a certain process to run on a specific core?
Is windows still the better choice vs Linux in terms of being as close
to realtime as possible?
I'm bringing this up again because a couple of years ago I posted that
I'd found a sweet spot for Windows 2000: setting visionegg process
priority to realtime, and thread priority to idle. This gave excellent
timing, while retaining keyboard functionality. If I recall correctly,
those same settings locked out the keyboard on a WinXP system. I've
since updated our stimulus computer a bit (but left it at Windows 2000),
and now the keyboard no longer works with those same settings. Perhaps
it was due to the move from Python 2.3 to 2.4, which is compiled with
MSVC7.1 instead of MSVC6...
The Vision Egg mailing list