Multisample Anti-Aliasing Analysis for Meta Quest
Multi-sample anti-aliasing (MSAA) is a technique for improving the quality of computer graphics.
Using MSAA on a PC-based platform comes at a lower cost than using the technique on Meta Quest. Depending on how much content you are rendering and the GPU level your app is running on, the overall overhead of using MSAA ranges from 0.5 ms to 1.5 ms per frame.
In general, you should almost always use MSAA in your apps for Quest devices, however you should not go over 4x MSAA sampling. It is better to spend GPU time on higher resolution render targets than further increase MSAA.
The following tests and sample images demonstrate the results of turning MSAA 4x on or off on Quest devices with different kinds of apps.
Test specs:
- Eye buffer Resolution 1216 x 1344
- Hardware: Meta Quest
Test 1: Normal Fragment GPU Workload App This test was conducted with a Unity simple scene that contains lighting.
- GPU Level: 2
- Data measured on one eye only.
Test Results:
Metric | MSAA Off | MSAA 4x On |
---|
Render Cost | 2.65 ms | 3.15 ms |
Resolve Cost | 0.17 ms | 0.44 ms |
Rendered Image:

Test 2: Heavy Fragment Shader Workload App This test was conducted with a scene that contains a Mandlebrot set visualization.
- GPU level: 4
- Data was measured on both eyes
Test Results:
Metric | MSAA Off | MSAA 4x On |
---|
Render Cost | 10.449 ms | 11.497 ms |
Resolve Cost | 0.313 ms | 0.626 ms |
Rendered Image:

Test 3. Heavy Vertex Shader, Low Fragment App This test was was conducted with a heavy vertex scene that contains point rendering. This test features a lot of tiny, barely visible vertices.
It demonstrates MSAA’s impact on Binning. The binning cost is very similar whether MSAA is off or on: 1.419 ms vs 1.534 ms.
The binning algorithm from Qualcomm has an approximate O(1) bin count, which is considered good.
- GPU level: 2
- Data measured on a single eye
Test Results:
Metric | MSAA Off | MSAA 4x On |
---|
Binning | 1.419 ms | 1.534 ms |
Render Cost | 0.4 ms | 1.38 ms |
Resolve Cost | 0.14 ms | 0.43 ms |
Rendered Image:

Test 4. Trivial GPU workload This test was for a scene with a trivial GPU workload. The intention with this test is to get the pure overhead when there is almost no load on the GPU.
With this test you can see if MSAA is off, there is almost no resolve cost. In this simple case, the driver is smart enough to direct-render into system memory instead of rendering into tiler and then copying from the tiler to system memory.
Per Qualcomm, direct-rendering can only occur when MSAA is off. Most of time, an app is complex enough that direct-rendering doesn’t make sense. There are special cases like like if you need to render a quad into a smaller RT that direct-rendering can save you some cost. In addition, Qualcomm offers an extension to control whether something is direct-rendered, if you do not want to let the driver decide.
- GPU level: 2
- Data measured on a single eye
Test Results:
Metric | MSAA Off | MSAA 4x On |
---|
Render Cost | 0.044ms | 0.388ms |
Resolve Cost | 0.0ms | vs 0.44 ms |
Rendered Image:

MSAA does add some cost.
Render comparison:
The tests show that as a scene’s fragment complexity increases, the render overhead percentage decreases with MSAA, but with some cost. For example, when you enable 4x MSAA on a medium complexity app, you can reasonably expect that MSAA will add approximately 10-15% in time overhead.
- GPU 2: high vertex, low frag: 0.4 ms (MSAA off) vs. 1.38 ms (MSAA 4x)
- GPU 2: normal frag workload: 2.65 ms (MSAA off) vs. 3.15 ms (MSAA 4x)
- GPU 4: heavy frag workload: 10.449 ms (MSAA off) vs 11.497 ms (MSAA 4x)
Resolve comparison:
The resolve cost difference is fixed under the same GPU level regardless the GPU workload.
According Qualcomm, the resolving cost difference is due to the high bin count of 4x MSAA, with per-bin cost roughly the same.
- GPU 2: 0.17 ms (MSAA off) vs 0.44 ms (MSAA 4x)
- GPU 4: 0.14 ms (MSAA off) vs 0.30 ms (MSAA 4x)
Also consider that some overhead might be coming from the profiler used for these tests, and the real difference in resolving cost might be smaller.