Analyse multisampling pour Meta Quest
Le multisampling (Multisample anti-aliasing, MSAA) est une technique visant à améliorer la qualité des graphismes informatiques. L’utilisation de cette technique sur une plateforme de type PC coûte moins cher que sur Meta Quest. Selon la quantité de contenus dont vous effectuez le rendu et le niveau GPU que nécessite votre application, la surcharge globale d’utilisation du MSAA va de 0,5 ms à 1,5 ms par image.
En règle générale, même s’il vaut mieux presque toujours utiliser le MSAA dans vos applications pour les appareils Quest, il est recommandé de ne pas dépasser un échantillonnage de MSAA 4x. Il est préférable de consacrer du temps GPU à des cibles de rendu à plus haute résolution plutôt que d’augmenter davantage le MSAA.
Les tests suivants et les images fournies à titre d’exemple démontrent les résultats de l’activation ou de la désactivation du MSAA 4x sur les appareils Quest avec différents types d’applications.
Caractéristiques du test :
- Résolution du eye buffer : 1 216 x 1 344
- Matériel : Meta Quest
Test 1 : Application avec charge GPU et fragments normaux
Ce test a été réalisé avec une scène Unity simple contenant un éclairage.
- Niveau GPU : 2
- Données mesurées sur un seul œil.
Résultats du test :
| Indicateur | MSAA désactivé | MSAA 4x activé |
|---|
Coût du rendu | 2,65 ms | 3,15 ms |
Coût de résolution | 0,17 ms | 0,44 ms |
Image rendue :

Test 2 : Application avec charge de travail, shader et fragments lourds
Ce test a été réalisé avec une scène contenant une visualisation de l’ensemble de Mandelbrot.
- Niveau GPU : 4
- Données mesurées sur les deux yeux.
Résultats du test :
| Indicateur | MSAA désactivé | MSAA 4x activé |
|---|
Coût du rendu | 10,449 ms | 11,497 ms |
Coût de résolution | 0,313 ms | 0,626 ms |
Image rendue :

Test 3 : Application avec shader de sommets lourds et fragments légers
Ce test a été réalisé avec une scène de sommets lourds contenant un rendu des points. Ce test comporte un grand nombre de petits sommets à peine visibles. Il démontre l’impact du MSAA sur le binning. Le coût du binning est très similaire, que MSAA soit désactivé ou activé : 1,419 ms contre 1,534 ms. L’algorithme de binning de Qualcomm possède un nombre approximatif de bins O(1), ce qui est considéré comme une bonne valeur.
- Niveau GPU : 2
- Données mesurées sur un seul œil.
Résultats du test :
| Indicateur | MSAA désactivé | MSAA 4x activé |
|---|
Binning | 1,419 ms | 1,534 ms |
Coût du rendu | 0,4 ms | 1,38 ms |
Coût de résolution | 0,14 ms | 0,43 ms |
Image rendue :

Test 4 : Charge de travail GPU triviale
Ce test concernait une scène avec une charge de travail GPU triviale. L’objectif de ce test est d’obtenir la surcharge pure lorsqu’il n’y a presque aucune charge sur le GPU. Avec ce test, vous pouvez voir que si le MSAA est désactivé, les coûts de résolution sont quasiment nuls. Dans ce cas simple, le pilote est suffisamment intelligent pour effectuer un rendu direct dans la mémoire système plutôt que d’effectuer un rendu dans le moteur de rendu en tuiles, puis de procéder à une copie dans la mémoire système à partir du moteur.
Avec Qualcomm, le rendu direct ne peut avoir lieu que si MSAA est désactivé. La plupart de temps, une application est suffisamment complexe et le rendu direct n’a pas de sens. Il existe des cas particuliers, comme lorsque vous devez rendre un quadrilatère dans une cible de rendu (RT) plus petite. Auquel cas, le rendu direct peut générer des économies. De plus, Qualcomm propose une extension permettant de contrôler si quelque chose est rendu directement, si vous ne souhaitez pas laisser le pilote décider.
- Niveau GPU : 2
- Données mesurées sur un seul œil.
Résultats du test :
| Indicateur | MSAA désactivé | MSAA 4x activé |
|---|
Coût du rendu | 0,044 ms | 0,388 ms |
Coût de résolution | 0,0 ms | contre 0,44 ms |
Image rendue :

Le MSAA augmente les coûts.
Comparaison du rendu :
Les tests montrent qu’à mesure que la complexité des fragments d’une scène augmente, le pourcentage de surcharge de rendu diminue avec le MSAA, mais cela a un coût. Par exemple, lorsque vous activez le MSAA 4x sur une application de complexité moyenne, vous pouvez raisonnablement vous attendre à ce que le MSAA ajoute environ de 10 à 15 % de surcharge temporelle.
- GPU 2 : sommets élevés, fragments faibles : 0,4 ms (MSAA désactivé) contre 1,38 ms (MSAA 4x)
- GPU 2 : charge de travail de fragments normale : 2,65 ms (MSAA désactivé) contre 3,15 ms (MSAA 4x)
- GPU 4 : charge de travail de fragments lourde : 10,449 ms (MSAA désactivé) contre 11,497 ms (MSAA 4x)
Comparaison des résolutions :
La différence de coût de résolution est fixe sous le même niveau de GPU, indépendamment de la charge de travail du GPU. Selon Qualcomm, la différence de coût de résolution est due au nombre élevé de bins du MSAA 4x, avec un coût par bin à peu près identique.
- GPU 2 : 0,17 ms (MSAA désactivé) contre 0,44 ms (MSAA 4x)
- GPU 4 : 0,14 ms (MSAA désactivé) contre 0,30 ms (MSAA 4x)
Il faut également prendre en compte qu’une partie de la surcharge pourrait provenir du profiler utilisé pour ces tests, et que la différence réelle de coût de résolution pourrait être plus faible.