Some question about the scaling algorithm
#1
1-I'm on a 1920x1080p monitor/desktop, and i can't see the differenze between a x3 scaling and a x6 scaling, is that because the max scaling is limited to the max resolution of the desktop? In my case 1440x1080 for a 4:3? Also, if i force an AR of 16:9 on a 4:3 game, it will be rendered at 1920x1080 or at 1440x1080 with the needed PAR to get the 16:9?
2-I noticed that if i use an internal scaling to make the video look less bad, the 3D objects are better, but pre-rendered objects (like pictures) are not, they look worse, like if they were upscaled with some bad algorithm, no way to avoid the upscaling for them at all?
3-If i use a custom resolution i keep getting the same resolution, like "640x448", why is that?

Thanks in advance Smile
Reply

Sponsored links

#2
1. a. There is a difference, but it suffers from diminishing returns. This is because rendering it above your resolution (4x) means that the picture is larger then your screen, it is then scaled down. This IS beneficial as it creates what is known as a FSAA or SSAA (Full Scene AA or Super Scaling AA) effect. Making object edges appear much more natural and not as sharp.

b. Aspect ratio plays zero role in scaling. Scaling is done via the rendering (ie nativex2 for 2x). AR as it's used in the emulator takes the image of whatever resolution you have, and then stretches it to fit that aspect ratio. Needless to say, for most games forcing 16:9 on 4:3 looks terrible. Luckily, we do have wide screen hacks for most games these days.

2. You can't scale 2D objects like you can 3D ones unless they are vectored (PS2 graphics are not). 2D objects are, however, filtered using a simple bi-linear filter akin to what the PS2 does. You can set it to full (all 2D objects including textures) with a check. Textures only (2D objects applied to 3D objects, such as characters or scenery) by making the check box "filled in". Or you can disabled it completely by unchecking it.

3. That is the native resolution for the game only. It's for reference. Many games use 640x448, but many use less (GoW2 for example defaults to less, some have resolutions even lower than PS1 games!)
Reply
#3
Thanks for the replay Smile

1.a-What type of algorithm is used to scale it down? Still Bilinear?

1.b-I see, thus fraps would end up saving the same picture. About the 16:9 hacks, i didn't know that, how do i enable them?

2-Thanks a lot, that fixed it.

3-Forgot to ask, forcing settings on my NVIDIA card would help or they would be ignored?

Also, is not possible to choose which algorithm is used to upscale/downscale the 2D and 3D objects? I don't really like Bilinear, my graphic card would allow me to use a Lanczos8 for the downscaling and a Lanczos4 for the upscaling without problems Tongue and i would like to raccomand NNEDI3/EEDI3 for an high quality upscaling/antialiasing on 2D objects, if PCSX's team would never feel like improve this side of the program. It is an avisynth plugin, you will have to port it (i can't help you there since i can't code in C) and madvr for Lanczos and other high quality resizes.
Reply
#4
1a. I'm honestly not sure what method is used for downscaling. That would be something a dev would have to answer.

b. Currently you have to download the widescreen hacks from the forum http://forums.pcsx2.net/Thread-PCSX2-Wid...me-Patches then under the file menu select "enable widescreen". If an existing patch is found for your game, it will be applied. Most patches default to 16:9, but many have options for 16:10 and other resolutions. Unfortunately you have to manually edit the .pnach file to do so. Upcoming 1.2.0 (whenever it's out) will likely have the widescreen hacks included by default. I believe the latest SVN do as well.

2. No Prob

3. No prob again Wink You can override settings within the nvidia control panel but you should be careful about it. Certain things like MSAA won't play well with many games.
Reply
#5
Thanks Biggrin
Reply
#6
The texture filtering done on PCSX2 is essentially a manual version of Bilinear filtering. DirectX decides how the polys are drawn (in the given internal res), then maps the texture to it in the same resolution, then we filter it.

So if you scale above your screen res, it will act a bit like super sampling and will render at the high resolution, then your pc will scale it down to fit on the screen. Same for if you are using native or lower resolution, it will scale to fit.

To explain why this happens more, imagine DirectX isn't drawing to your screen, but a "canvas" like a painting, but made up of the pixels you have specified, then your monitor tries to "display" this canvas as closely as it can, given your actual screen resolution
[Image: ref-sig-anim.gif]

Reply
#7
Sorry for the late replay, i was off Smile
Thanks for the esaustive explanation.
Reply




Users browsing this thread: 1 Guest(s)