I tried with the new array. The FPS is around 60 fps this time, it is more precise. But it is still very jumpy. I move my character around and it's very bad. He walks fast, stops, walks fast, stops again, continuously like this. Very annoying, it ruins the whole game I think.
When it comes to fps, I don't like to compromise. When I play a game, I make sure the graphics are not high enough to slow the game. So, in this case, of course I would say drop the sleep method altogether. The stroboscopic version is the definitely the worst. I prefer the game to be a little slower but constant and fluid.
I think the best version if the sleepless one. Yeah, it does drain all the CPU, but unfocus the game window and you're okay. You won't get problems by changing computers too.
With the actual version, if someone develop a game on a computer where the lower fps problem occurs, he might boost the fps parameter in the LimitFrameRate call and then the game will become much too fast for other computers. It's okay if the game is meant to created and played on the same computer, but otherwise it's risky.
The "stroboscopic version" that I would call the "unstable version", is just painful. I would avoid it at all costs.
I don't know if providing different versions of the behavior is a good idea. It should be explained what each version of the method implies. I would definitely go with the sleepless one.
But then again, you have to take my word for it, since it would seem I'm the only one with this issue...