Repeating delays is frame-dependent. You should use a looping timer instead. See my post here for details