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.
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…
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
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.
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.
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.
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.
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
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
Heres the result:
Vulkan with MSAA: 56 FPS, without MSAA : 72 FPS
GLES with MSAA : 72 FPS, without MSAA : 72 FPS
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
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