Skip to main content
Inspiring
June 18, 2013

AA vs downscaling from higher resolutions

I think it might be a good idea to re-open this discussion as there seems to be a fair amount of friction between those that find that downscaling from 1920x1080 is an acceptable way to improve image quality in the Rift vs those that find it unacceptable and comes with a potential increase in latency.

With Unity, I've explored a multitude of options:

1) No AA, using native Rift resolution of 1280x800.
2) No AA, downscaling from higher resolution.
3) Anti aliasing as a post effect, occurs after lens correction and chromatic aberration
4) AA between lens warp and chromatic aberration correction.
5) 2x/4x/8x MSAA via Unity's quality settings

Note that at this time, the #5 option here does not actually function like UDK's ScreenPercentage setting because the MSAA textures are not yet accessible. I'm guessing that when Unity does support this, the quality settings are all that we'll need to get a simple and effective "ScreenPercentage" setting in Unity.

Also note that at this time, the #4 option is not possible unless we make some significant changes to the Oculus Unity integration (and I personally haven't taken the time to try out a proof of concept).

So for the time being, that realistically leaves us with #1 (No AA at 1280x800), #2 (No AA, downscale from higher res), and #3 (AA using one of Unity's several AA image effects), and maybe even a combination of these.

Here are screenshots taken of some text that does not squarely face the user, although the user is looking directly at it. The text should read "0%":

1280x800 (No AA, 4xMSAA, postwarpAA):


1600x900 (No AA, 4xMSAA, postwarpAA):


1768x992 (No AA, 4xMSAA, postwarpAA):


1920x1080 (No AA, 4xMSAA, postwarpAA):


My conclusions:

1) I find that post-warp AA done as an image effect softens up the scene details too much, darkens it, etc. Not acceptable (and also has a not insignificant hit to frame rate).

2) I don't see much difference in legibility between no AA and using 4xMSAA in Unity's quality settings, so might as well not use it in favor of performance, although one could definitely make the argument that straight edges would benefit from it.

3) The higher the resolution the better, and even running at 1768x992 looks like it starts to provide acceptable readability of that "0%".

4) I don't have a way to test the latency difference between native 1280x800 and downscaling from a higher resolution, but it sure doesn't seem to feel any different to me, even with looking around all over the place real fast like a crazy person.

Therefore, until Unity allows access to MSAA textures, just use as high a resolution as you can? :)
    This topic has been closed for replies.

    83 replies

    Up and Coming
    November 9, 2013
    Holy cow....

    That is an amazing difference!
    Have you listened to the Rev VR Podcast yet? Listen and subscribe through iTunes or through Stitcher http://www.reverendkyle.com
    drashAuthor
    Inspiring
    November 9, 2013
    "boone188" wrote:
    I made a little demonstration of the basic supersampling: https://www.dropbox.com/s/cd9cked007dmnsd/BigBufferTuscany.zip

    - Left mouse click enabled/disables the supersampling.
    - Press 1-5 to change scaling factor


    Holy crap!

    4x and 5x make even 1080p downscaling look absolutely blurry by comparison!

    Are the scaling factors actually whole-number multiples from 1 to 5? So 5x @ 1280x800 is rendering to a 6400x4000 buffer?
    Titans of Space PLUS for Quest is now available on DrashVR.com
    Up and Coming
    November 9, 2013
    "drash" wrote:
    "boone188" wrote:
    I made a little demonstration of the basic supersampling: https://www.dropbox.com/s/cd9cked007dmnsd/BigBufferTuscany.zip

    - Left mouse click enabled/disables the supersampling.
    - Press 1-5 to change scaling factor


    Holy crap!

    4x and 5x make even 1080p downscaling look absolutely blurry by comparison!

    Are the scaling factors actually whole-number multiples from 1 to 5? So 5x @ 1280x800 is rendering to a 6400x4000 buffer?

    Yep. It's a really big buffer, but these modern gfx cards can certainly handle it.
    Participant
    November 9, 2013
    "drash" wrote:
    "boone188" wrote:
    I made a little demonstration of the basic supersampling: https://www.dropbox.com/s/cd9cked007dmnsd/BigBufferTuscany.zip

    - Left mouse click enabled/disables the supersampling.
    - Press 1-5 to change scaling factor


    Holy crap!

    4x and 5x make even 1080p downscaling look absolutely blurry by comparison!

    Are the scaling factors actually whole-number multiples from 1 to 5? So 5x @ 1280x800 is rendering to a 6400x4000 buffer?


    While that is true, there seems to be some weird issue with rendering at native resolution, versus high resolution. I get a much smoother experience when rendering at 1920x1200, as opposed to 1280x800.

    edit: disgregard the above, this was related to some monitor cloning shenanigans.
    drashAuthor
    Inspiring
    November 9, 2013
    "Rambowjo" wrote:
    While that is true, there seems to be some weird issue with rendering at native resolution, versus high resolution. I get a much smoother experience when rendering at 1920x1200, as opposed to 1280x800.


    I just went back and forth to compare again. I noticed that in Boone's BigBufferTuscany, the trees actually have shadows whereas the original Tuscany does not. And probably for good reason too -- all the contrast from the shadow detail on the ground produces a very shimmery effect. You're right in that 1920x1080/1200 is a very smooth experience.

    However, as shown in the GIF below, shadows are no longer a garbled mess up close, and objects in the distance suddenly feel much much sharper. The lines between the bricks in the arch of the windows look much crisper as well. The increased texture detail (especially for the grass outside where it shimmers a lot) may mean that better textures are needed and/or anisotropy/filtering/mipmapping options need to be fiddled with or something.



    It's not perfect yet, but this is really exciting stuff!
    Titans of Space PLUS for Quest is now available on DrashVR.com
    Up and Coming
    November 9, 2013
    Wow the image quality is really greatly improved at 5x. Somehow the crisper image makes the screen-door effect slightly more apparent. Anybody else get this optical illusion with the screen-door? Anyways, this is very nice. Good job!

    Is the code available so that we can experiment with other demos?
    Up and Coming
    November 9, 2013
    "Marbas" wrote:
    Wow the image quality is really greatly improved at 5x. Somehow the crisper image makes the screen-door effect slightly more apparent. Anybody else get this optical illusion with the screen-door? Anyways, this is very nice. Good job!

    Is the code available so that we can experiment with other demos?

    Yeah, just check out the OVRCameraScaler I posted previously: download/file.php?id=1126

    To use it in your project, just import the package and then add one of the OVRCameraScaler components to each OVRCamera.
    Up and Coming
    November 10, 2013
    @boone188, wow this is incredible... It's a small peak at what higer res will do for the VR experience! I can actually make out the details in the distance. Exciting!

    Any chance to upload a version without enabled/disabled text? I'd love to use your version for demonstrations. Thanks!
    Up and Coming
    November 10, 2013
    "VRoom" wrote:
    @boone188, wow this is incredible... It's a small peak at what higer res will do for the VR experience! I can actually make out the details in the distance. Exciting!

    Any chance to upload a version without enabled/disabled text? I'd love to use your version for demonstrations. Thanks!

    Glad you like it. The latest version allows you to hide the text with a right click.
    Up and Coming
    November 10, 2013
    Great, thanks!