After spending too much quality time in the fetal position, here is the timing from my new logging. I've tried a rather large sum of things to fix the spikes including switching to a console application. The problem I have is I have no clue what is causing this spike in CPU processing time. This makes me believe that it isn't my win32 app at all. Release mode doesn't make a difference also.
me wonders if it is how I've implemented my threading. It may be cross threading actually. I could move everything out of my skateboard class and make it into a quick Win32 app OR add in a lot more logic I wanted abstracted out of the skateboard class into it. Namely how to kill the loop. I could add in the phidget code breaking the cross threading. I can't think of why else every 24 to 26 cycles I'd have this weird spike other than cross threading UI update. I have a multicore laptop so this shouldn't be happening.
me wonder twice: Will .1 seconds really make the difference? Every .25 seconds I'll have a 100 ms lag period. That brings me to about 75 cycles a second. My face says I want 8 million cycles a second but my reduced time frame and money already spent says 75 may just work.
Man, this sucks. Why can't Vista be a real time operating system. I don't have time to play with the eBox yet.
Hopefully the improved logging with help me figure out a clever way to beat the oscillation.