MiSTer-devel / S32X_MiSTer

Sega 32X implementation for MiSTer
57 stars 18 forks source link

Weird horizontal lines during Doom 32XR title screen #8

Closed viciious closed 1 year ago

viciious commented 2 years ago

You can see some weird horizontal lines going across the screen, while the Doom logo is scrolling up, that appear to be some form of screen tearing.

thehughhefner commented 2 years ago

Do you have a video of the "horizontal lines"? Also, have you verified it against real hardware?

viciious commented 2 years ago

Also, have you verified it against real hardware?

Yes, I have. I develop the thing on real hardware :)

Will try to record and post a video ASAP.

viciious commented 2 years ago

The tearing is quite noticeable on the ^-shaped of the letters: https://drive.google.com/file/d/1Zym7egokD-gG7myB8ITnacAu2jNp4WCs/view?usp=sharing

Happens on both: PAL and NTSC.

Dunno if it's relevant or not, but D32XR actively manipulates the line table during the scroll, so that might have something to do with the issue.

a-barone commented 2 years ago

S32X Core version: Release 20220607

Hi!

I investigated this vertical tearing issue and it's caused by the vertical scaling of the core when using HDMI/digital video output (it doesn't happen when I use the VGA output with a SCART cable and connect it to a CRT TV, for example). This issue is more noticeable when using 720p output resolution but it also occurs in 1080p.

When "Scale" is set to "Normal" (the default setting of the core) it will exhibit the horizontal lines/vertical scrolling tearing that @viciious had reported. However, when "Scale" is set to "V-Integer" it eliminates those issues completely.

Here's a recording properly showing the different results when using those settings. I used an Acer ED242QR monitor and a high-quality HDMI cable with no converters between the MiSTer FPGA and the monitor: https://www.youtube.com/watch?v=nyVGBJNUo9w

thehughhefner commented 2 years ago

Can you try with this build? S32X_20221108.zip

a-barone commented 2 years ago

Can you try with this build? S32X_20221108.zip

Regarding the scaling artifacts reported in this issue and which affect the "DOOM" logo during the D32XR intro when using HDMI video output, no changes. The fix is still the same as that I described in my previous comment:

when "Scale" is set to "V-Integer" it eliminates those issues completely.

Maybe changing the default "Scale" setting of this core to "V-Integer" would be a good idea? Since the only vertical resolution used by US/JP 32X games has 224 lines and that will never have a proper match in the vertical resolution multiples of modern displays.

Toryalai1 commented 1 year ago

Can you verify with the latest unstable core? https://github.com/MiSTer-unstable-nightlies/S32X_MiSTer/releases/download/unstable-builds/S32X_unstable_20230417_167dc3.rbf

viciious commented 1 year ago

Hi,

just checked the latest unstable core and the lines are still present there. However, setting the scaling method to "V-Integer" does eliminate them indeed.

asturur commented 1 year ago

This is not an issue per se, is just how normal scaling work on all mister cores. Shouldn't this be closed?

a-barone commented 1 year ago

Yes, I think so.

sorgelig commented 1 year ago

This is called shimmering. It's because of scaling. If you use NN scaling then you will notice it. Use other scaling methods with smoothing, or use HV-Integer if you are ok with borders.

asturur commented 1 year ago

is also possible that forcing the scaling to 0.5 or 0.25 also alleviate the issue going nearly fullscreen