I'm not new to programming or Java in general, but very new to games programming. I've not done it before and thought I'd have a go at writing something simple, so I started writing a breakout sort of game.
Developing on Linux I got a ball moving across the screen. I created a thread which runs my moveBall() method whenever it's awake.
It's here that I have become unstuck. To get any kind of reasonable speed on Linux I have to sleep for the lowest time available on my system (10ms). (When I start doing any kind of collision detection in that method performance goes right off, but that's probably another problem).
However, when it runs on Windows, the sleep needs to be set to 1000 to move at a "reasonable" speed.
However, if sleeping for 1000 milliseconds is a second, it seems to me that the Windows one is wrong, even though it's more usable (i.e. I have a lot of scope to make it faster or slower).
So three questions, really. Which OS sounds like it's exhibiting broken behaviour, and why is the performance so bad on Linux?
Is there any useful online introduction to the basics of games writing, especially in Java? I'm not trying to make a living out of it, just get a bit of experience in something that could be fun.