math1205@waikato.ac.nz (06/05/90)
I have been experimenting with sprite animation recently and came up with an unexpected result which I can not explain. The experiment uses the A_line routines and a 50Hz colour monitor to animate a sprite moving back and forth across the screen. The program was a simple loop which did the following: a_drawsprite(x,y) Vsync() a_undrawsprite() update_pos(x) The sprite used was a small 8x8 pixel ball and the x-increment used is 16 pixels. This worked nicely and gave a very smoothly moving ball at a refresh rate of 50Hz. I seemed to recall from computer graphics literature that a refresh rate of 20 Hz should be sufficient to give the impression of animation. I therefore modified the above loop to this: a_drawsprite(x,y) Vsync() Vsync() a_undrawsprite() update_pos(x) I then expected to see a ball travelling at half the speed and refreshed at 25Hz. What I actually saw was two very faint balls adjacent to each other travelling across the screen. Even when the x-increment is reduced to 1 pixel the same effect is noticeable as a blurring of the image. Can anyone explain the reason for this double ghosting effect? Wayne Schou MATH1205@waikato.ac.nz