Scanlines disappear when screen scrolls vertically?

For example, if I’m playing Final Fantasy Mystic Quest, the scanlines behave normally when walking left or right, but if I walk up or down, the scanlines temporarily disappear on the screen in the areas that are scrolling. The scanlines do however stay put around the ui and around the character (who always states centered when the screen moves). I’ve tried many different shaders and this happens with all of them.

Anyone know the reason for this?

2 Likes

It’s probably the LCD ghosting blending the lines with the game’s colors. You don’t get it horizontally because the horizontal lines already cover the whole screen and there isn’t anything else to blend into.

This is just tales from my ass though, i might be wrong. Thy some vertical scanlines and see if my theory is correct. They should have the opposite behavior. Also try some scanlines that aren’t completely straight like, dunno, Lottes or something. These tend to be a bit more stable i think.

I get the same problem with Lottes and similar shaders.

Oddly enough, I don’t seem to have any problem with the scanlines in Sonic Mania, yet Yeetron gives me the same issue inside retroarch.

On second thought, you might be right. The scanlines are stable when the vertical scrolling is slow, but when it speeds up, they disappear.

OK, upon further investigation, I believe this is almost certainly a ghosting issue. I am able to get stable scanlines, buy turning off freesync, setting the monitor to 120Hz, and turning on black frame insertion. However, this makes the colors look weird and uneven.

2 Likes

Are you sure its not just you brain trying to fill in the details? It can’t really be ghosting as the gaps between the scanlines will never be drawn and there will be nothing to ghost. When I try the 240p test suite’s grid scroll test the scanlines disappear unless I look near the top or bottom of the screen or put something against the screen so the eye has a fixed reference point.

1 Like

Yeah, it happens on my CRTs, as well. I believe it’s one of the reasons most vertical shooters are TATEd and most horizontally orientated games also have you move horizontally.

1 Like

It’s probably a bit like this:

2 Likes

You might be right. I’ll be honest in saying I have a limited understanding on how monitors draw images so perhaps ghosting may not be the right word. However, I can say I noticed a difference between Freesync on + sync to refresh vs. Freesync off + 120Hz + black frame insertion. Maybe the slight flickering caused by the black frame insertion prevents the persistence of motion in my brain (I might just be talking out my ass here lol)?

I might have to visit an arcade in the area that has old cabinets so I can remember what scanlines are actually supposed to look like.

1 Like

It does yeah, flickering reduces the persistence and makes everything clearer.
Except it sucks on modern monitors as it screws up the colors way too much, I never use it because of that. :confused:

2 Likes

Black frame insertion messes with colors?

Yes. It makes everything dark and it’s almost impossible to make adjustments to compensate, it will always look wrong. Unfortunately, you can’t avoid ghosting with 60fps content, no matter how good your monitor is. I have a 240hz monitor that looks almost as clear as a CRT (but still not quite) when given 240fps content… but 60fps? Looks like a standard crappy LCD monitor. Too bad retro console games are all locked at 60hz :frowning:

1 Like

OK, upon even further investigation, now I think this is an optical illusion and not a ghosting issue. If I turn on scanlines and put my finger up to the screen, then focus on my finger, I can see solid, stable, scanlines around my finger while it’s scrolling, but they still disappear around the rest of the screen in my peripheral vision.

Or maybe it’s some combination of my monitor’s properties and my brain? Do things like panel type, and response times have a big impact on the persistence? If I’m understanding the blur busters explanation correctly, it’s sounds like a faster display actually makes the persistence effect stronger, and this happens on CRTs as well. So it’s not like this problem (to the extent it can be considered one) is something that can be fixed by getting a better monitor.

4 Likes

I think that’s the case; you can’t do much about that.
As you see on the persistence test, black lines are large and there is no blur involved, but if you follow the scrolling they still disappear.
With really thin lines that’s even more the case I guess.

1 Like

Yes this is something that I too noticed, and it’s fairly annoying. Happens horizontally with masks too. I tend to agree with @GemaH and blame LCD motion blur, and always thought that it was less obvious on CRTs due to scanlines and masks being physical characteristics of the displays, whereas our beloved shader scanlines are virtual and drawn together with the rest of the image. However, according to someone who really knows his onions:

Would you care to elaborate? Why does this happen? Can it be solved? @Dooberknob 's optical illusion theory is quite interesting…

I think “optical illusion” is pretty much right. If you’re tracking an object with your eyes, the stuff around it gets less attention and your brain is like “don’t worry, I got this [makes a bunch of stuff up]”.

I don’t think there’s really a solution for it, as such, since it’s something we’re doing in our own minds.

3 Likes

So basically, good old retinal persistence. I guess that the scanlines disappear because by staying still they are in fact moving relative to our sight, which is fixed on the moving character (which by this logic should of course keep its scanlines, and it does indeed). So I have an idea to fix this. A shader capable of shifting the scanlines and masks in sync with the scrolling. That should do it right? And not terribly hard to implement I reckon, at least for console games and their mostly fixed 30/60 frame rates.

While the framerate is fixed, that doesn’t tell us anything about the virtual rate of motion (e.g., whether, in the course of a frame, any individual pixel moves 1 pixel’s worth of space, or 2, or 3, or more). In gamedev, this is known as a “motion vector”. It’s also, unfortunately, very hard to calculate them in post-processing situations, and particularly in shaders.

In layman terms, what you mean is that ‘scrolling speed’ doesn’t necessarily match ‘frame rate speed’, and that it would be really difficult to detect and track the former, correct? I still believe that ‘scanline shifting’ would work in many cases. Think Sonic the Hedgehog, running around at full speed (without power sneakers). In that case, ‘scroll speed’ is 60hz, right?

What do you do about different areas of the screen moving at different speeds (include those areas that are static)?

Of course, the big thing your a missing is that if this effect happens with a CRT then the correct behavior for CRT shaders is for this effect to happen with them too.

1 Like

Yeah yeah I’m not saying that it should be fixed. Just curious about it.