An animation is created through changes in our world from one frame to the next. A frame is a single screen shot -- that is, a single execution of our display function. The amount of change should be chosen so that the transitions between frames is smooth.

Now, by controlling the number of frames that are computed per second, which we call the FRAME RATE, we may make the speed of the animation the same (or almost the same) between processors.

We establish the frame rate with the delay passed in the call to glutTimerFunc. Since the unit of time is milliseconds (1000 ms = 1 sec), a 50 millisecond delay establishes the frame rate 20 frames per second. With an increase in the delay, we have fewer frames per second and, in turn, a slower animation while a decrease in the delay produces a faster animation.