Path: utzoo!attcan!utgpu!watserv1!watcgl!imax!dave From: dave@imax.com (Dave Martindale) Newsgroups: comp.graphics Subject: Re: Animation Speed Message-ID: <1990Jun9.150839.9249@imax.com> Date: 9 Jun 90 15:08:39 GMT References: <675.266fc62b@waikato.ac.nz> Organization: Imax Systems Corporation, Oakville Canada Lines: 47 In article <675.266fc62b@waikato.ac.nz> math1205@waikato.ac.nz writes: >I have been experimenting with sprite animation recently and came up >with an unexpected result which I can not explain. > >Drawsprite(x,y) VerticalSync() Undrawsprite() Update_Pos(x) > >This version worked nicely and gave a very smoothly moving ball >displayed at a refresh rate of 50Hz. > >The next version should also display a smoothly moving ball which is refreshed >at the slower rate of 25Hz via: > >Drawsprite(x,y) VerticalSync() VerticalSync() Undrawsprite() Update_Pos(x) > >What I actually saw was two very faint balls adjacent to each other >travelling across the screen. > >Is the reason for this ghosting effect a too slow refresh rate? And if so, >what is the minimum refresh rate to produce smooth animation? This double-image effect is due to the fact that the CRT is displaying each image twice. The ball is shown at position 1 for 2 screen-refresh periods, then at position 2 twice, then at position 3 twice, and so on. Your eye follows the motion of the average position of the ball, and sees the individual images as being either ahead or behind this average position. For example, assume that the ball moves 16 pixel every 1/25th of a second. To follow it, your eye moves at the same rate, or 8 pixels every screen refresh. Thus when each frame is drawn for the second time, your eye's field of vision has moved 8 pixels, and the ball appears to be offset 8 pixels from the image produced from the first screen image. If you held the same image on screen for 3 vertical sync periods, you would see a triple image of the ball, with each of the ghost images separated by 1/3 the distance that the ball actually moves between updates. This effect is common to any system that shows an identical image more than once, such as film projectors running at 24 or 25 fps. It may be more obvious in your computer-generated image because there is no motion blur, but movies do suffer from it too. Running film cameras and projectors at 48 fps or faster would eliminate the double image, at a cost of twice as much film. 24/25 fps is a compromise that works well enough most of the time. Images from a TV camera do *not* have the problem, since they consist of 50 or 60 different fields per second.