draw/update loop locked to framerate