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

[Feature Request] Integer scaling/Fit to height toggle #1916

Closed
rz5 opened this issue Apr 23, 2017 · 7 comments
Closed

[Feature Request] Integer scaling/Fit to height toggle #1916

rz5 opened this issue Apr 23, 2017 · 7 comments

Comments

@rz5
Copy link
Contributor

rz5 commented Apr 23, 2017

This is about how the image is displayed in PCSX2.

Currently, the fit of the video is always set to "fit to height". This stretches the image while keeping the user-chosen aspect ratio.

This feature request is to have a checkbox on the GS Window options labelled, for example, "Integer scaling" where the final image size is NOT stretched e.g. if the frame size is 640x480, then display a centered 640x480 frame while leaving the rest black.

The reason for this feature request is to have a setting to display a pixel-perfect (i.e. unstretched) image, because stretching the image to a non-integer multiple resolution results in blurriness because we don't get a 1:1 pixel correspondence.

Back of the envelope implementation would be:

if (gs_window_options.integer_scaling == true) {
    /* Old behavior in case frame overflows from window */
    if (frame_size > gs_window.size) {
        fit_to_height();
    } else {
        present_as_is();
    }
}        

...
@gregory38
Copy link
Contributor

 because stretching the image to a non-integer multiple resolution results in blurriness because we don't get a 1:1 pixel correspondence

Potentially the option linear present could help to avoid the blur

@rz5
Copy link
Contributor Author

rz5 commented Apr 24, 2017

@gregory38 Using nearest-neighbor vs bilinear filtering would help combat the blur, yes. It doesn't fix the lack of 1:1 pixel ratio.

Also, while on that topic, I suggest refactoring occurrences of "Texture Filtering of Display" and "linear_present" to "Bilinear filtering". I had to trudge around the source code and in the GUI to understand what linear present meant.

@James-F2
Copy link

PCSX2 painfully lacks Integer-Scaling feature.

Another good way to scale the image is multiply the image by X times and only then stretch it.
This option is also not available in PCSX2.

@Boviligg
Copy link

Has there been any work or updates regarding this issue? It would really be worth it. Thanks.

@Muhlawor
Copy link

Muhlawor commented Mar 8, 2020

Can it be added?

@DukeSkinny
Copy link

Indeed, it looks like much of the work has been done already (#1918), but that's an old unfinished PR that seems wholly dropped.

I too would love the option to enable integer scaling, which would tremendously with running PCSX2 artifact-free to my VGA monitor. Currently, the way to do it is to lock the window size to the game's resolution & stretch the screen using the monitor buttons.

@refractionpcsx2
Copy link
Member

Qt will have integer scaling (it already has)

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

Successfully merging a pull request may close this issue.

10 participants