Implement an upper FPS limit in the gameloopIs that "busy-wait" with the sleep()-function? Thread.sleep( (last_update + MIN_WAIT_TICKS) - System.currentTimeMillis() ); would also work. Otherwise, this seems to work fine.