Jump to content
  • entries
    39
  • comments
    621
  • views
    148,139

Yuck!


Thomas Jentzsch

2,298 views

Question: What do you get when you combine interleaved flicker for mixing colors with horizontal scrolling? See attachment! (scrolling left every 2nd, right every 3rd frame)

ParaTest3.bin

5 Comments


Recommended Comments

What you are observing is a consequence of persistence of vision. If the eye is tracking a moving object which is flashed twice in each position, the second flash will appear to be offset from the first, in the direction opposite the direction of motion, by a distance of half the movement step.

 

Note that scrolling LED signs are generally scanned bottom to top, and will appear to slant slightly to the right while scrolling right to left. On those, there are seven flashes per scan (one per scan line), so each appears offset by 1/7 motion increment compared to the one before.

 

This sort of artifacting appears somewhat in Ruby Runner; I regard it as annoying but not exceptionally objectionable. There, however, I either make small motions or else make large motions sufficiently slowly that the eye does not track them.

 

I would suggest that it might be best to, if the game mechanic allows, use Thrust-style scrolling at 60fps. That would avoid motion artifacts.

Link to comment
I would suggest that it might be best to, if the game mechanic allows, use Thrust-style scrolling at 60fps. That would avoid motion artifacts.

Unfortunately I need 2 frames for scrolling the data. :ponder: Or a comb filter. ;)

 

BTW: Thrust scrolls with 30 fps, but only because it looks better. ;)

Link to comment
What you are observing is a consequence of persistence of vision. If the eye is tracking a moving object which is flashed twice in each position, the second flash will appear to be offset from the first, in the direction opposite the direction of motion, by a distance of half the movement step.

 

Note that scrolling LED signs are generally scanned bottom to top, and will appear to slant slightly to the right while scrolling right to left. On those, there are seven flashes per scan (one per scan line), so each appears offset by 1/7 motion increment compared to the one before.

 

To put it another way it seems like if you have frames F1 F2 F3 F4 F5 F6 F7... F1 and F2 are intended to be integrated by the eye as a single frame followed by a scroll of four pixels and the integration of F3 and F4 as a single frame.

 

But your eye could also interpret an integration of F2 and F3 followed by F4 and F5 which would each be offset (a tear or rip).

 

I don't know if this is in harmony with your theory but it's how I've interpreted the effect.

Link to comment
I don't know if this is in harmony with your theory but it's how I've interpreted the effect.

 

To predict the effect, imagine a transparency superimposed on the screen. Superimpose each frame onto the transparency, while it's moving smoothly at the average rate of scrolling.

 

So if the picture scrolls left four pixels 20 times per second, the transparency should move left smoothly at a rate of 80 pixels per second, or about 1.33 pixels/frame. Note that because the bottom of the screen is drawn after the top, there will be a slight skew on horizontally-moving objects, but that usually won't be noticeable.

 

Note that if an object is scrolling left at a rate of one pixel every other frame, the apparent horizontal resolution may be doubled (to 320 pixels) by showing different images on the even and odd frames. This technique is not without limitations, since it will generally introduce flicker. On the other hand, double horizontal resolution on the 2600 is still a neat trick.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...