Active wait in GameLoop
The current gameLoop is a pretty much like a while(1) { if(ready) computation} when it should wait if nothing have to be done. Active waiting like this is really bad. I suggest that you use the function "Thread.sleep(long milisec)" at some point.