The stimuli are just a bunch of simple shapes and/or textures that are
redrawn and/or rebound on every monitor frame, which constitute a long
sequence of seemingly random patterns. For the most part, everything
works just fine (as it did on the old system). But sometimes the
sequence will just freeze on one frame, and resume only after the end
of a full pass through the sequence. It never did this with the old
system.
I suspect this has to do with the OS handing attention to another
process, since during stimulus presentation the thread/process is run
"Real Time" and "Time Critical", and it's only in between repeats of
the stimulus sequence that the code checks whether the OS had any
business to address (via Application.ProcessMessages in Delphi). But
I'm surprised that there would be any difference in the way 2K and XP
handle CPU time allocation.
But OS aside, what is most frustrating is that nothing appears to go
wrong, from the application's side. That is, no errors are generated
in any of the OpenGL calls, and the data file that is being written
concurrently is written as if every frame of the sequence had been
properly generated. So it's as if the video buffer that holds the
textures has somehow been corrupted, and as a default behavior the
video card displays the last known good buffer. Like, perhaps the
OpenGL window context is somehow unhooked.
Oh, that reminds me of another thing I should mention. This is a dual
monitor setup. The application's "controls", that is windows with
forms and buttons, are displayed on the secondary monitor, and the
primary monitor contains a full screen OpenGL context to which the
stimuli are drawn.
Anyway. I'm having trouble debugging this, since I get no reported
errors, and I don't really know how to search for my problem on
Google, because I don't know what words to use, exactly, to describe
what's happening. So, that brings me to my question. If any of you
OpenGL gurus have any clue what is going on, even guesses, pointers to
things that I could examine, I'd be very grateful. Thanks!