bsnes-emu / bsnes

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.
Other
1.72k stars 160 forks source link

Scaling Bug in Windowed Fullscreen mode and Fullscreen mode. #129

Open A-Force-For-Change opened 3 years ago

A-Force-For-Change commented 3 years ago

I am using the following settings: Size: 5x (1200p) Output: Center Nvidia Control Panel: No Scaling

While Windowed mode is fine: https://i.imgur.com/SwZzJDB.png

Windowed Fullscreen mode https://i.imgur.com/Ic5EvPT.png and Fullscreen mode https://i.imgur.com/gTYL9C3.png are showing some weird scaling issues.

What is happening here?

With this behaviour, both windowed fullscreen mode as well as fullscreen mode are unusable for me. :(

[edit] Spelling.

A-Force-For-Change commented 3 years ago

I tried to investigate a bit further.

• Happens with 2xBR-Halation-Scanlines, CRT-Aperture, CRT-Caligari, CRT-Lottes-Multiplass, CRT-Royale, GTU, PhosphorLUT-v2.2, ... Probably happens all the time – even with no shader at all – but is only noticeable with CRT- and Scanline-Shaders.

• Happens regardless of the integer-scaling-factor (240p, 480p, 720p, ...).

• Happens with aspect correction on and off.

• Happens with Output: Center, as well as Output: Scale, but doesn't seem to happen with Output: Stretch! o_O

→ No matter what weird size and aspect ratio I am dragging the bsnes-window to, with Output set to Stretch there are no moiré-patterns visible with e.g. CRT-Lottes-Multipass.

→ On the other hand, with Output set to Center or Scale, the moiré-patterns change with changing the size of the bsnes-window, even when the actual size of the game stays the same (only increasing the black bars around the game).

A-Force-For-Change commented 3 years ago

There is definitely some weird stuff going on with the viewport.

Tested with CRT-Lottes-Multipass, but is visible with all other CRT-/Scanline-Shaders, too.

• Size 4x (960p), Output Center, Shrink Window to Size. Game Size = 1024x896. Viewport Size = 1024x896. Everything fine.

• Now increasing the width of the bsnes-window. e.g. to Viewport Size = 1280x896. Game Size still = 1024x896, with black bars left and right. Moiré visible.

• Increasing the with of the bsnes-window further, to double the game-width. Now Viewport Size = 2048x896. Game Size still = 1024x896, with even wider black bars left and right. No moiré visible.

• But increasing the with of the bsnes-window to 3x the game-width. Viewport Size = 3072x896. Game Size still = 1024x896. No moiré, but strong yellow-tint.

Why is changing the viewport-size altering the rendering of the game, even with Output set to Center?