Thanks Ross and Arem, but I've tried them all and know their various strengths and weaknesses which I why I started this thread. For example WaitKey pauses until a key is pressed, this is not good if you want to wait for anykey to be pressed in a loop while you animate a screen for example.