Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enabled fsr for downscaling #702

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ruanformigoni
Copy link

@ruanformigoni ruanformigoni commented Dec 6, 2022

Hi,

This PR is related to issue #692, besides upscaling, FSR can yield good results for downscaling.

This is the current result of gamescope (from 5120x2160 to 2560x1080):
downscaling-default

This is with fsr for downscaling (from 5120x2160 to 2560x1080):
downscaling-fsr

The power lines, stage mounts, and everything else is better defined, with less jagged edges.

@vic-bay
Copy link

vic-bay commented Dec 21, 2022

I tested this tweak, and this is the only "painless" way to get SSAA/DSR on linux for me. Works well on nvidia RTX 2070s.

gamescope -h 2160 -H 1080 -f -U --fsr-sharpness 20 -- %command%

Trees and grassblades:
Screenshot_2022-12-21_17-55_24
Screenshot_2022-12-21_17-55_34

Trees and obelisk sihoulette:
Screenshot_2022-12-21_17-56_49
Screenshot_2022-12-21_17-56_56

Grass blades:
Screenshot_2022-12-21_17-59_04
Screenshot_2022-12-21_17-59_09

Outer edge of the door frame:
Screenshot_2022-12-21_18-01_38
Screenshot_2022-12-21_18-01_42

@orowith2os
Copy link

Sorry to bug, but would you mind explaining how this works to me? How does FSR matter here for downscaling? Isn't downscaling directly from a higher resolution good enough for this case, or does it handle it differently, like by upscaling the original res to a higher res, and then downscaling?

@ruanformigoni
Copy link
Author

ruanformigoni commented Jan 9, 2023

Hi @orowith2os, as you can see by the screenshots, downscaling in gamescope does not produce good results due to a lack of a good downscaling algorithm. FSR makes the image smoother and less aliased, it is used as if it were a downscaling algorithm (although it is for upscaling).

@ruanformigoni
Copy link
Author

Hey, I've implemented a proper bicubic algorithm for downscaling (from this source). To test it, please follow the instructions here. Thanks!

@rKsanu2MMYvypWePtQWM
Copy link

Since this PR request was made before #740, does it mean that the effect of this FSR "downscaling" is identical to enabling FSR on native resolution (since no actual downscaling is being performed)?

@ruanformigoni
Copy link
Author

Hi @rKsanu2MMYvypWePtQWM , no. When rendering in a higher than native resolution FSR used bilinear filtering (I think, from reading the code) in the image before it was resized, so it looks smoother and less aliased. However I think that a dedicated shader for doing that is less of a hack. The usage of FSR from a higher resolution to native helps preserve detail that would not exist otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants