Dolphin, the GameCube and Wii emulator - Forums

Full Version: New SSAA Options
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Shonumi Wrote:OGL displays -> 2x/4x/8x MSAA, 4x/9x/16x SSAA
D3D displays -> 2x/4x/8x MSAA, SSAA

That would not work.* In D3D SSAA "switches" all of the options from MSAA to SSAA, so what was 4x MSAA is now 4x SSAA. And we have no control over that at all.

So I'm pretty sure we could do 2x/4x/8x MSAA, 2x/4x/8x SSAA (fyi I'm pretty sure there is no such thing as "9x", old Dolphin had "9x" as a hack increasing IR and applying SSAA.), but because of how D3D's dropdown displays items from the driver, it's MSAA or SSAA, and no way to show both at the same time. Plus OpenGL changed to mimic D3D's style anyway, and that's what HdkR and degasus were following.

*I'm not an expert, or even a coder! I'm just saying things I've heard from degasus and neobrain.
So the GUI requests what AA options are available from the driver? Makes sense and sounds familiar from what I recall. Would it not be possible instead to have the GUI for D3D display hardcoded options? That is to say, you dictate 2x/4x/8x MSAA, 2x/4x/8x SSAA in the dropdown, then depending on which one is selected, you switch D3D between MSAA and SSAA (as the checkbox does) when actually running a game. Now, there's the issue of when something isn't supported (say SSAA) by the driver. You could probably run a brief test once a specific AA option is enabled to see if it's supported and report errors as soon as the user selects something. Failing that, report errors on initialization (booting the game). That's just my perfect world though; I know nothing about what D3D wants from Dolphin or what Dolphin wants from it. Wink

MaJoR Wrote:(fyi I'm pretty sure there is no such thing as "9x", old Dolphin had "9x" as a hack increasing IR and applying SSAA.)

So all this time NaturalViolence (and by extension a lot of other people) was mistaken? SSAA goes 4x, 8x, then 16x like sane people name their scaling conventions? All this time I thought it was based on squares (2x2 = 4xSSAA, 3x3 = 9xSSAA, 4x4 = 16xSSAA) I thought 9xSSAA was using SSAA to generate an image 3x the width and 3x the height, then sampling from that. I guess it shows I'm not a PC gamer...
(09-13-2015, 03:47 PM)MaJoR Wrote: [ -> ](fyi I'm pretty sure there is no such thing as "9x", old Dolphin had "9x" as a hack increasing IR and applying SSAA.)
Under D3D, nVidia's GPU driver will let you force 1x2, 2x1, 2x2 ("4x"), 3x3 ("9x"), and 4x4 ("16x") SSAA on games, so 9x does exist. Whether Dolphin can do all of those options under both D3D and OGL is another matter, though.

(09-13-2015, 04:26 PM)Shonumi Wrote: [ -> ]I thought 9xSSAA was using SSAA to generate an image 3x the width and 3x the height, then sampling from that.
You are correct. You don't have to use perfect squares, though, as you can also double only the horizontal resolution (2x1) or vertical resolution (1x2) with SSAA for some graphical improvement with lower requirements than doubling both directions (2x2, i.e. 4x). Supposedly 1x2 is considered superior to 2x1, as the human visual system is more sensitive to vertical resolution than horizontal resolution, so while doubling only the vertical or horizontal resolution has the same performance impact, doubling the vertical resolution will look subjectively better.
Did you also update the description of SSAA when you mouse over it? Previously, it just said the same thing as when you mouse over the AA pulldown, which is part of what made it confusing.

*edit*

Well, here's a potential replacement for the SSAA checkbox description using the same general formatting as the main AA pulldown description:

"Uses a more effective and demanding method of reducing the amount of aliasing caused by rasterizing 3D graphics. This does a better job of smoothing out jagged edges on objects but comes at a higher performance cost. Increases GPU load more significantly than the default anti-aliasing method.

If unsure, leave this unchecked."
Update on this. I've gotten D3D and OGL's backends to have the same AA options! Big Grin

No more confusing quality levels in D3D. It's all uniform. Next step is to remove SSAA's checkbox and merge it into the dropdown. Right now the checkbox just switches the text from MSAA to SSAA.

And this isn't in master yet, just my own branch.
Bravo. Big Grin
A small update, until I get some help on how to merge the SSAA options into the same dropdown (This likely requires some work on the backends) we're just going to have to deal with the checkbox. However, the AA options are MUCH easier to understand now and is very clear on what kind of AA you're applying. Here's the PR for it if you want to play around with it and provide feedback.

https://github.com/dolphin-emu/dolphin/pull/3035

And before your feedback is "remove the checkbox please", I know. I want to remove it, I just need a bit of help first. At the very least this is a big improvement.
PR Merged. Master's AA options are now much less dumb

No more quality levels in D3D!
I just noticed this morning. Kudos! Big Grin
Pages: 1 2