retro-go icon indicating copy to clipboard operation
retro-go copied to clipboard

Lolin S3: display glitching while scrolling

Open mtojek opened this issue 3 months ago • 2 comments

Describe the bug

While playing an NES game, when the character moves and the screen scrolls, vertical glitches appear roughly every ~10 pixels. Instead of smooth scrolling, some lines look like they are not updated properly.

To Reproduce

(look at mountains behind the jungle)

https://www.youtube.com/watch?v=IUfW08Zifyw&feature=youtu.be

Expected behavior

Smooth scrolling without visual glitches.

Additional context

I'm working on a new target but so far the config matches esp32s3-devkit-c.

mtojek avatar Sep 26 '25 20:09 mtojek

I figured out a workaround - Scaling needs to be off. Does it look like an issue with the scaling algorithm, or is the effect correct, unfortunately?

mtojek avatar Sep 27 '25 10:09 mtojek

This is likely due to non-integer scaling. Certain columns are repeated/doubled to match the desired width. When you scroll, it means that shapes will change size as different parts of it are doubled.

If your screen is 320px and the NES is 256px, it means that 64 columns will be doubled. So every 5px, which is close to your estimate.

The algorithm could definitely be improved by someone more knowledgeable about those things, but I don't know if it's possible to fix the issue entirely...

You can try playing with the Filter option, as well as try the Zoom scaling, maybe a specific zoom level would fill the screen in a way that the shimmer is less visible?

ducalex avatar Sep 30 '25 22:09 ducalex