Dolphin, the GameCube and Wii emulator - Forums

Full Version: Anti Aliasing vs Internal Resolution
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4

Qaazavaca Qaanic

There is one possibly important difference: SSAA uses mipmaps corresponding to display resolution (not high-res). High IR will use finer mipmaps than low-IR+SSAA. This causes MKWii Rainbow Road's rainbow pattern to shift between 2NxIR and NxIR+SSAA.

The same color differences arise from switching between IRs.

Other tracks are less affected.

----

Isn't SSAA implemented differently from adjustable IR and subject to different glitches and incompatibilities?
If I'm not mistaken, SSAA should simply upscale and then downscale the final image, which makes it relatively foolproof in terms of compatibility and enables it to avoid the potential artifacts associated with other smoothing methods that cut corners to increase performance.
AnyOldName3 Wrote:There is a downsampling filter (so 3x IR looks worse than 6x on a 1080p screen), it's just a fairly basic one, so gives poor results. (Technically even nearest neighbour is a downsampling filter even though it would do what some people would call 'nothing'.)

You beat me to it.  If there was no downsampling filter we wouldn't be able to use IR higher than our monitors native resolution.

Also I don't consider nearest neighbor even remotely close to "doing nothing".  Cropping would be closer to doing nothing and even that is not nothing.

AnyOldName3 Wrote:I remember back in the day when NaturalViolence kept complaining about Neobrain ruining the AA filter, and we were encouraging people to ignore AA in favour of IR. I'm not exactly sure when this was remedied.

It was never fully remedied.  Pre r6549 builds are still the only master builds that will get you truly good SSAA without driver hacks unfortunately.  Currently dolphin has no SSAA support in d3d and in openGL it is handled by the drivers, which uses a subpar generic shader.

jimbo1qaz Wrote:Isn't SSAA implemented differently from adjustable IR and subject to different glitches and incompatibilities?

IR is handled entirely by dolphin while SSAA is just a call to the API.

Aleron Ives Wrote:If I'm not mistaken, SSAA should simply upscale and then downscale the final image,

No upscaling is involved.

Aleron Ives Wrote:which makes it relatively foolproof in terms of compatibility and enables it to avoid the potential artifacts associated with other smoothing methods that cut corners to increase performance.

Some games do not handle non-native resolution rendering well.  However since it's handled by the drivers the game should not even be aware that it is happening so I'm doubtful it causes any compatibility issues.
(06-19-2015, 07:15 AM)phenomenalkai Wrote: [ -> ]
(06-18-2015, 12:49 AM)kirbypuff Wrote: [ -> ]
(06-17-2015, 07:29 AM)phenomenalkai Wrote: [ -> ]For example, on a 1080p screen, would it be better to increase IR to 6x with no AA or would it be better to set the IR to 3x which is 1080p and increase the AA to like 8 samples (quality level 16)?

I wouldn't recommend using any kind of standard AA (MSAA/CSAA/EQAA/MFAA), It's relatively low quality and introduces all kinds of issues.
8xMSAA is also a worse choice than 4xMSAA (anything higher than 4x is too blurry / a waste of GPU power).

For best image quality without any issues, set the IR to 3x and use SSAA.
SSAA is available only if you use the OpenGL backend.

NOTE: SSAA can be very demanding (when combined with a high IR), especially the '9x' setting.
3xIR + 4xSSAA is equivalent to 6xIR (you need a decent (upper mid-range) GPU for this).
3xIR + 9xSSAA is equivalent to 9xIR (you need a high-end GPU for this).

If you use the Direct3D backend (e.g. for better performance on AMD hardware), then the best option is to set the IR to 6x and turn off the standard AA. Direct3D doesn't have a SSAA option (yet), so 6xIR is recommended in this case.

So for my R9 280. I should turn off AA and run the game at 6x resolution (effectively 4k according to GUI).
My CPU is an i5 4690k overclocked to 4.5 ghz btw.

My rig is pretty close to yours. I dug in and compared. i have found your statement to be true for the most part, BUT like everything else in Dolphin this IR scaling vs IR thing seems to very game by game... But my findings sho that later wii games generally run and look better with a higher ir and low to no AA, or even forced in the driver. Older games, and hardware intensive wii games seem to go the other way... High ir almost looks worse...


not only that, but even now that they are adding the feature to graphics drivers the results on windows games also seem extremely variable.
BUT im blind as a fucking bat so there is that...
(06-17-2015, 07:56 AM)helios747 Wrote: [ -> ]Hi! I am in fact working on a warning for this. Unfortunately right now it's a really situational answer for what you're asking. what major says is entirely correct as far as I know. In your situation, it's ideal to set 3x and turn on the AA of your choice. However, with some games AA can KILL performance, so be mindful!

In the future we'll have a proper downsampling filter (I believe some people more capable than I are working on that), until then, when I figure this out we'll have a nice little warning in the settings dialog to warn you of suboptimal IR settings. Smile

EDIT: Dev team are actually pretty divided on this issue. I don't think a warning is going to happen. The better solution would be to implement a downsampling filter.


I would also want an upscaling filter (in my case scale 720p to 1080p), heck, why not just a "scaling filter"? I would like to know if you created an entry in the issue tracker, I did a few weeks ago with this very same petition, but somewhat expanded. My request is for choice of scaling kernels (let decide upscale/downscale independently), with linear light and anti-ringing options, inspired by the great work of madshi with the madVR video renderer. With this in mind scaling must adhere to color spaces and work in float point so degradation is kept at a minimum. Back to 8-bit the samples should be dithered, so let choose rounding (no dither), ordered (fast), or error diffusion (slow).

I know this is a lot, but for the time being I think that implementing scaling kernels should be top priority. Do you know if there is something used currently? point sampling (nearest), bilinear, bicubic?
Just trying to highlight a quality issue here: D3D SSAA is broken with backbuffer scaling issues -this might make some of these quality issues mute

OGL is okay
(10-03-2015, 02:40 AM)eckso Wrote: [ -> ]
(06-17-2015, 07:56 AM)helios747 Wrote: [ -> ]Hi! I am in fact working on a warning for this. Unfortunately right now it's a really situational answer for what you're asking. what major says is entirely correct as far as I know. In your situation, it's ideal to set 3x and turn on the AA of your choice. However, with some games AA can KILL performance, so be mindful!

In the future we'll have a proper downsampling filter (I believe some people more capable than I are working on that), until then, when I figure this out we'll have a nice little warning in the settings dialog to warn you of suboptimal IR settings. Smile

EDIT: Dev team are actually pretty divided on this issue. I don't think a warning is going to happen. The better solution would be to implement a downsampling filter.


I would also want an upscaling filter (in my case scale 720p to 1080p), heck, why not just a "scaling filter"? I would like to know if you created an entry in the issue tracker, I did a few weeks ago with this very same petition, but somewhat expanded. My request is for choice of scaling kernels (let decide upscale/downscale independently), with linear light and anti-ringing options, inspired by the great work of madshi with the madVR video renderer. With this in mind scaling must adhere to color spaces and work in float point so degradation is kept at a minimum. Back to 8-bit the samples should be dithered, so let choose rounding (no dither), ordered (fast), or error diffusion (slow).

I know this is a lot, but for the time being I think that implementing scaling kernels should be top priority. Do you know if there is something used currently? point sampling (nearest), bilinear, bicubic?

Ishiiruka already has upscaling filter and also xbrz texture scaler.
(10-03-2015, 02:40 AM)eckso Wrote: [ -> ]I would also want an upscaling filter (in my case scale 720p to 1080p), heck, why not just a "scaling filter"? I would like to know if you created an entry in the issue tracker, I did a few weeks ago with this very same petition, but somewhat expanded. My request is for choice of scaling kernels (let decide upscale/downscale independently), with linear light and anti-ringing options, inspired by the great work of madshi with the madVR video renderer. With this in mind scaling must adhere to color spaces and work in float point so degradation is kept at a minimum. Back to 8-bit the samples should be dithered, so let choose rounding (no dither), ordered (fast), or error diffusion (slow).

I know this is a lot, but for the time being I think that implementing scaling kernels should be top priority. Do you know if there is something used currently? point sampling (nearest), bilinear, bicubic?

Just pushing my question up because I was expecting some answer. Interested if theres's already an entry in the issue tracker for this, aside from mine. And the current employed kernel.
(10-10-2015, 03:37 PM)eckso Wrote: [ -> ]
(10-03-2015, 02:40 AM)eckso Wrote: [ -> ]I would also want an upscaling filter (in my case scale 720p to 1080p), heck, why not just a "scaling filter"? I would like to know if you created an entry in the issue tracker, I did a few weeks ago with this very same petition, but somewhat expanded. My request is for choice of scaling kernels (let decide upscale/downscale independently), with linear light and anti-ringing options, inspired by the great work of madshi with the madVR video renderer. With this in mind scaling must adhere to color spaces and work in float point so degradation is kept at a minimum. Back to 8-bit the samples should be dithered, so let choose rounding (no dither), ordered (fast), or error diffusion (slow).

I know this is a lot, but for the time being I think that implementing scaling kernels should be top priority. Do you know if there is something used currently? point sampling (nearest), bilinear, bicubic?
Just pushing my question up because I was expecting some answer. Interested if theres's already an entry in the issue tracker for this, aside from mine. And the current employed kernel.
I'm interested in this as well. MadVR (by Madashi@doom9 community) has made my PC as good or better than my OPPO for my Home Theatre (which is also for games). Scaling artifacts bug me just as much as geometry aliasing, but not everyone will agree on this when it comes to image quality:performance. I don't know much about the technical side of this (how it works/coded--that's over my head), but could this could be done via shaders doing the scaling at multiple passes for the different points in rendering pipeline? Can shaders even do multi-pass rendering with how Dolphin works?
Pages: 1 2 3 4