Anti-Aliasing PERFORMANCE in VR (Quest 2) in LTS 2021.3.0f1

From all I’ve read and watched on anti-aliasing, the general consensus is to use MSAA 4X in VR and we’ll see little drop in performance, I’m not seeing this in reality, would really like to know what you all are seeing or if I have some settings wrong (my settings are below).

I created a few cubes in a simple fresh URP project, only 20x20 = 400 using a 512 x 512 texture and then tested again with a 32 x 32 texture

Case 1 uses 512 x 512 texture
No AA = 70 FPS
MSAA 2X = 43 FPS
MSAA 4X = 30 FPS (more than ½ drop in FPS!)

Case 2 uses 32 x 32 texture
No AA = 73 FPS
MSAA 2X = 45 FPS
MSAA 4X = 31 FPS

See below APK file so you can you yourself on your Quest 2 and mp4 video (watch AA change and then FPS). Press the “B” button on the right controller to change to MSAA 4X and no AA.

One thing to note is that my FPS calculator does not match OVR Metrics at MSAA 4X, that is why I have 2 counters, I calculated with 2 different algorithms (similar concepts). Not sure why OVR is so off from mine, but I think I believe OVR more as mine don’t seem to update as often with MSAA 4X kicks in. (30 vs. 72 at MSAA 4X)

Thanks for any input or recommendations on this. I’d really like to figure this out, as this is exactly what I see in my game!

Video (watch AA change and then FPS) = here
APK Case 1 = here
APK Case 2 = here

Vanz

ps. Note, I posted something like this a little while back but wanted to get new data from LTS. Also, the is with a fresh URP project while before was with everything in my game disabled, so less noise is this study.

1 Like

Pic of STATs and the setup

Pic of profiler with no AA on Laptop with Link cable,

Settings,

Simple texture/sprite used,

Note study done with Multiview not MultiPass for APK Build

Use the profiler on your android build to get proper readings on what is happening.
Also disable automatic graphics API and switch around vulkan and opengl (and enable the opengl optimization in the oculus tab)

Switching around GLES3 and Vulkan fixed this, this kinda seems like a Unity bug to me.

If I have GLES3 added only , MSAA 4X working close to NO AA
if I have GLES3 added and Vulkan added , MSAA 4X working close to NO AA
but if I have Vulkan added first then GLES3, MSAA 4X goes to complete crap (by first I mean top of the list)… really weird to me, is this documented anywhere, I could not find?
Vulkan by itself also MSAA 4X = bad

Now when I go to GLES3 and multiview I get this weird psychedelia overdrawing effect (will create a post and show). If I use Vulkan and multiview no problem, but the bad MSAA 4X

Thanks for suggesting this path DevDunk, did not seem intuitive to me… nice youtube vids, I added a like for them, thanks again…

Vanz

Thanks!
There currently is an issue with Vulkan, depth pass and AA. I suggest making a bug report for it so they can fix it (first try 2021.3.1f1, since it might have a fix for it?)
A video of the overdraw issue will definitely help yesh

Weird drawing effect with GLES3 and multiview = here

I highly recommend checking if 2021.3.1 still has the performance issue with vulkan.
Vulkan is good to be in for late latching and spacewarp suppport

Yeah Vulkan should be fine on latest but it is a bug if MSAA is slow on Vulkan - please report that scenario. If you have several renderers in the list, it will pick them in order, so if Vulkan is first and it’s slow but not if it’s second, it just means the problem is a bug with Vulkan and reporting it will help.

2 Likes

Hi there! I’m on 2021.3.5f1 and noticing this bug as well. I only have GLES3 setup (no vulcan in player settings) and if I do a build with MSAA 4x enabled my frame rate is around 45 FPS in a completely empty scene with nothing but a plane (not even a skybox). If I disable MSAA and rebuild it runs at a normal 72 FPS.

Unity 2021.3.5f1. URP 12.1.7. Oculus integration v40 (also tested with v41).
I use the Balanced URP settings that come in the URP core template.

Did anyone ever figure this out?

2 Likes

Had the exact same problem on 2021.3.5f1, swapped the order so Vulkan is below OpenGL as suggested here and immediately went from 36-58fps in an empty scene to 72. Incredible that this hasn’t been fixed.

1 Like

Try 2021.3.14 + openxr 1.5.3 + latest oculus xr plugin? (And latest oculus integration if used)
I thought they had it fixed already.

If not, disabling depth might also fix it

I have the same problem with MSAA in OpenXR. I can confirm it’s not fixed on 2021.3.18f1 yet. This is the only thing keeping us in the 2020 LTS. I found out that this same issue was reported back in June 2022, but it’s still marked as “under consideration for 2021.2.X”.

I would appreciate if I could get any update on this. As it stands right now, OpenXR is unusable in the 2021 LTS, as applications struggle to hit even 72FPS with minimum visual quality levels. In my testing, the performance loss was so severe that disabling MSAA made the FPS jump from 60 to 90.

It seems like the issue I linked in my previous post has been resolved as “Won’t fix”, as they claim they cannot reproduce the issue.

Same problem on 2021.3.20 + URP 12.1.10 , Multiview & MSAA 4x
Build same scene in vulkan, set MSAA to 4x, FPS is very low. If no MSAA, FPS is fine
GLES is fine

Update Openxr to 1.6 and oculus xr plugin to the latest.
If it still happens:
Please make a bug report with the project attatched. I personally cannot reproduce it for example

Hi, I used to using [XR Plugin ManageMent 4.2.1] [Oculus XR Plugin 3.0.2] [PICO Integration 2.1.1] to build APK for Quest2 and Pico 4.

If add [OpenXR Plguin 1.6.0] to project, build apk error with
8859996--1208808--upload_2023-3-8_10-56-45.png
According to Error Info , I tried to find Ocuclus->Tools->OpenXR Menu, but it’s not exist.
8859996--1208811--upload_2023-3-8_10-57-41.png

  1. Update oculus XR plugin
  2. Update unity to latest 2021.3
  3. Update oculus integration

You don’t have to use OpenXR if you don’t want to, but if you don’t see the openxr option ur running an old oculus integration for sure

Thanks for your reply! I found some step to reproduce the issue.

1.Create a default 3d urp project with Unity 2021.3.20f1, URP 12.1.10
2.Import XR Plugin Management 4.2.1, XR Intergration Toolkit 2.2.0, Restart Editor
3.Import XR Intergration Toolkit samples [Start Assets] and enter into Demo Scene. Add a TMP Text to Display FPS and add a quad background to increate rendering consume.Add a toggle to switch MSAA.
4.Switch Platform to Android, Go to Project Settings-> XR Plug-in Management → Android Settings, and select Oculus
5.Enable MSAA4x in URP-Balanced settings, remove SSAO render feature, endable Depth Texture. Add a Bloom Postprocessing
6.Build Scene to Quest 2

the scene looks like this
8860434--1208907--upload_2023-3-8_16-11-22.png

Heres the result:
Vulkan with MSAA: 56 FPS, without MSAA : 72 FPS
GLES with MSAA : 72 FPS, without MSAA : 72 FPS

  1. With that you can already make a bug report, as it shouldn’t differ that much. Make sure to add the steps and link this thread
  2. Looking for fixes: check the depth priming mode in the urp renderer asset and play around with the settings there.
    2.1 bloom kills performance on quest, but should do the same for both backends