Ok. first off. Windows is not a real time OS so it isn't deterministic. I know that, you know that but your project manager probably doesn't so that was for him.
Second. I bet you are so close, that if we can just optimise what we already have a little better, we will be home and dry. Sure. Then in 6 months the spec changes to every 7 ms and the project manager says "you did it before, now do it again - it's only 1ms".
So. What is the problem?
Ahh. Just poking over the 8 ms in places.
Lets see if its what all the girls say that size does matter and bigger is better.
Ah yes. No problem with under 8ms. The girls are half wrong and half right. Size does matter but smaller is better.
(In fact it is linear. 400,000 will yeild about 3 ms, 200,000 about 1.5 ms etc).
Easy answer 1. Reduce the data size in the global.
But why so slow? Is it the array disassembling? Is it the reading from the global? Does it need more coffee?
Oooh. Microseconds. My spidy sense tells me its the global.
Easy answer 2: Don't use a global for big arrays if you're time constrained.
That about wraps it up for reading.
In the next issue we will cover: Oh my god. It all falls to crap when I write data.