Développer
Développer
Sélectionnez votre plateforme

Booster les niveaux CPU et GPU

Mis à jour: 9 mai 2025
Les casques Meta Quest 2, Meta Quest Pro, Meta Quest 3 et Meta Quest 3S fonctionnant sous le système d’exploitation Horizon OS version 57 (sorti en octobre 2023) ou ultérieure peuvent désormais accéder à des niveaux CPU et GPU supplémentaires. Les équipes de développement peuvent activer ces niveaux dans leurs applications pour améliorer la performance.
Ces niveaux supérieurs sont disponibles tant que les conditions environnementales ambiantes permettent un refroidissement suffisant. La mise à jour permet les augmentations de vitesse d’horloge suivantes :
 CPUGPU
Meta Quest 2
25 % (45 % en mode double cœur)
18 %
Meta Quest 3
7 %
10 %
Meta Quest Pro
25 % (45 % en mode double cœur)
10 %
Ces changements permettent aux applications d’accéder à autant d’énergie que possible et d’en consommer aussi peu que nécessaire pour rester dans les limites thermiques de l’appareil.

Meta Quest 2 et Meta Quest Pro

Sur Meta Quest 2 et Meta Quest Pro, les niveaux les plus élevés que les applications peuvent utiliser sont le niveau CPU 6 et le niveau GPU 5 (consultez Niveaux CPU et GPU).
Les techniques à votre disposition pour permettre l’exécution de votre application à ces niveaux CPU et GPU plus élevés sont les suivantes :
Dans Niveaux CPU et GPU, consultez la section « Disponibilité des niveaux CPU/GPU » pour connaître les niveaux CPU/GPU maximaux. Les applications avec une faible disponibilité des niveaux CPU/GPU (par exemple en raison de l’utilisation de la caméra réelle) peuvent toujours utiliser ces techniques, mais elles n’atteindront pas les mêmes niveaux CPU et GPU maximaux que les applications qui n’utilisent pas la caméra réelle.

Meta Quest 3

Sur Meta Quest 3 et Meta Quest 3S, les niveaux les plus élevés que les applications peuvent utiliser sont le niveau CPU 5 et le niveau GPU 5 (pour référence, consultez Niveaux CPU et GPU). Actuellement, une application ne peut atteindre qu’un seul de ces maxima à la fois.
La technique à votre disposition pour permettre à votre application de fonctionner à ces niveaux CPU et GPU plus élevés est la suivante :
Dans Niveaux CPU et GPU, consultez la section « Disponibilité des niveaux CPU/GPU » pour connaître les niveaux CPU/GPU maximaux. Les applications avec une faible disponibilité des niveaux CPU/GPU (par exemple en raison de l’utilisation de la caméra réelle) peuvent toujours utiliser ces techniques, mais elles n’atteindront pas les mêmes niveaux CPU et GPU maximaux que les applications qui n’utilisent pas la caméra réelle.

Niveau GPU 5

  • Le niveau GPU 5 dépend de l’activation de la résolution dynamique. La raison pour laquelle le niveau GPU 5 est lié à la résolution dynamique est que cette dernière permet d’augmenter ou de diminuer l’« eye buffer » de l’application (texture par défaut pour le rendu) en fonction de la marge de manœuvre GPU disponible. Cela permet aux applications de ne pas perdre d'images si le casque doit passer au niveau GPU 4, et de conserver les performances à une résolution inférieure. En outre, cela améliore la qualité lorsque le niveau GPU 5 est disponible, sans qu'aucune logique spécifique ne soit requise de la part du développeur ou de la développeuse.
  • Les applications doivent être conçues pour cibler le niveau GPU 4 comme le budget GPU le plus élevé auquel elles ont accès. Considérez le niveau GPU 5 comme un saut de qualité qui n’est disponible que si les conditions environnementales de l’utilisateur·ice le permettent. Plus précisément, le niveau GPU 5 ne peut être accordé que si le casque dispose d’une marge thermique suffisante. Par conséquent, vous ne devez jamais compter sur le niveau GPU 5 pour la fonctionnalité de votre application, ou pour répondre à des critères de performance tels que des exigences minimales en matière de fréquence d’images.

Mode double cœur

Le mode double cœur offre des vitesses d’horloge encore plus élevées, mais il ne permet à l’application d’utiliser que deux cœurs de CPU au lieu de trois. Le budget thermique du cœur qui n’est pas utilisé peut être ajouté au budget thermique des cœurs restants, ce qui permet aux applications en mode double cœur d’atteindre les vitesses d’horloge les plus rapides disponibles sur le casque.
Les applications ne doivent activer le mode double cœur que si elles sont limitées par les performances d’un seul cœur. En général, cela signifie que l'application passe la majeure partie de son temps par image à effectuer une longue série séquentielle de mises à jour.
Perfetto est un outil efficace de visualisation des cœurs de CPU qui permet de déterminer si une application est limitée par la performance d'un seul cœur. On s’attend généralement à ce que la consommation d’énergie soit réduite si le travail peut être réparti entre les cœurs à des vitesses d’horloge inférieures, mais si cela n’est pas possible, l’activation du mode double cœur vaut la peine d’être envisagée
Conditions requises
  • Le mode double cœur est pris en charge uniquement par Meta Quest 2 et Meta Quest Pro. Les casques Meta Quest 3 ne prennent pas en charge le mode double cœur actuellement.
  • Les applications doivent utiliser le backend OpenXR. Les applications conçues avec l’ancien backend OVRPlugin ne bénéficient pas de cette amélioration.

Pour activer le mode double cœur

Pour utiliser le mode double cœur, ajoutez la ligne de métadonnées suivante à votre élément <application> :
        <meta-data
            android:name="com.oculus.dualcorecpuset"
            android:value="true" />
Les applications qui utilisent le mode double cœur voient leur niveau CPU passer du niveau CPU 4 utilisant trois cœurs au niveau CPU 6 utilisant seulement deux cœurs.

Remarques sur le mode double cœur

  • Si vous utilisez le mode double cœur avec un niveau de performance du processeur inférieur à durablement élevé, l’application peut commencer à un niveau CPU inférieur, mais passer au niveau 6 lorsque l’utilisation du CPU augmente suffisamment.
  • Gardez à l’esprit que si vous utilisez le mode double cœur, les fréquences de votre CPU augmenteront. Ainsi, même si votre charge de travail actuelle n’est pas compatible avec deux cœurs au niveau CPU 4 ou 5, elle pourrait l’être avec les fréquences plus élevées fournies par le mode double cœur.
  • N’oubliez pas non plus qu’une application sera toujours plus performante si elle parallélise ses opérations CPU afin d’utiliser efficacement tous les cœurs disponibles, plutôt qu’en activant simplement le mode double cœur. Les développeurs d’applications doivent procéder à un profilage approfondi et à un examen de leur base de code afin de déterminer si leur application fonctionnera mieux avec le niveau CPU 5 ou le mode double cœur.
  • Les applications développées dans Unity sont généralement de bons candidats pour le mode double cœur, car la boucle Mise à jour() d'Unity est monotâche et constitue souvent le goulot d'étranglement pour la finition d'une image. Dans ce cas typique, la fonction de visualisation du cœur du CPU de Perfetto ressemble à ce qui suit :
    CPU Core Trace
    Vous pouvez voir comment l'application utilise fortement le cœur de CPU n°5 (qui est dominé par UnityMain), mais n'utilise que partiellement les cœurs de CPU n°4 et 6. Les applications présentant un tel profil d’utilisation des cœurs sont de bons candidats pour le mode double cœur : le cœur n°5 est limité par les performances d’un seul cœur, et les cœurs n°4 et n°6 ont tous deux une utilisation inférieure à 50 %, de sorte qu’il est probable que le travail puisse être combiné sur un seul cœur.

Échanger entre les niveaux CPU et GPU (Meta Quest 3 uniquement)

Dans les scénarios de haute performance dans lesquels vous risquez de vous heurter au régulateur thermique qui vous oblige à réduire la vitesse de vos processeurs, votre application a la possibilité d’indiquer si elle préfère conserver la vitesse du CPU ou celle du GPU. Ce paramètre peut être utile si vous savez que votre application est tellement limitée par les performances du GPU ou du CPU que le fait d’abaisser un niveau pour augmenter l’autre se traduira par une amélioration globale des performances de votre application.
Une fois que vous avez choisi d’échanger un niveau, ce choix fait partie du manifeste de l’application et ne peut pas être modifié pendant que l’application fonctionne.
Conditions requises
  • Meta Quest 3 fonctionnant sous le système d’exploitation version 57 ou ultérieure.
  • Les applications doivent utiliser le backend OpenXR. Les applications conçues avec l’ancien backend OVRPlugin ne peuvent pas bénéficier de cette amélioration.
C’est dans le manifeste de l’application qu’est définie la configuration d’échange entre le CPU et le GPU.

Activation de l’échange des niveaux CPU et GPU

Pour configurer l’échange entre le CPU et le GPU, ajoutez la ligne de métadonnées suivante à votre manifeste d’application :
        <meta-data
            android:name="com.oculus.trade_cpu_for_gpu_amount"
            android:value="1" />
Lorsque la valeur est
  • 1 = +1 niveau sur gpu, -1 niveau sur cpu
  • 0 = pas de changement.
  • -1 = -1 niveau sur gpu, +1 niveau sur cpu
Dans Unity, vous pouvez choisir d’échanger les niveaux en modifiant le paramètre Processeur Favor (Faveur du processeur) qui configure les paramètres de manifeste appropriés décrits ci-dessus. Ce paramètre se trouve dans vos propriétés OVRCamera :
Processor favor in Unity settings

Astuce pour booster les niveaux CPU

En démarrant dans v77 les applications peuvent obtenir un boost de processeur de fréquence maximale courte. Consultez la documentation sur les niveaux CPU. Le boost doit être utilisé sur de courtes périodes afin d’améliorer les temps de chargement et de diminuer les saccades pendant les rares actions qui sollicitent beaucoup le CPU. Le boost est disponible pendant 45 secondes seulement, et uniquement pour 20 % du runtime de votre application. Le boost est désactivé quand une limitation thermique ou le mode économiseur d’énergie est activé sur l’appareil.
Les appareils Quest activent automatiquement ce boost pendant 45 secondes au démarrage initial de l’application. Par conséquent, déclencher ce boost dans les 45 premières secondes d’exécution ne produira aucun effet. Ce boost est optimal pour charger les écrans et supporter les augmentations de charges du CPU après les 45 premières secondes d’exécution de l’application.
Dans Unity, vous pouvez activer le boost via un script
OVRManager.suggestedCpuPerfLevel = ProcessorPerformanceLevel.Boost;
Une fois que vous n’avez plus besoin du boost, veillez à modifier le niveau de performance. Par ex.,
OVRManager.suggestedCpuPerfLevel = ProcessorPerformanceLevel.SustainedHigh;

Dépannage des ajustements des niveaux CPU et GPU

Si vous n’êtes pas sûr qu’une application profite des niveaux CPU ou GPU boostés, vous pouvez identifier les applications boostées à l’aide de nos outils de diagnostic.

Affichage des niveaux CPU et GPU OVRMetrics

Les indicateurs CPU L et GPU L sur l’Outil OVRMetrics superposition affichent les niveaux CPU et GPU actuels de votre application.
CPU GPU indicators in ovrmetrics

Chaînes de logcat pour les niveaux CPU et GPU

Consultez XrPerformanceManager logcat pour suivre les niveaux actuels, minimaux et maximum de GPU et CPU pour votre application.

Chaînes de logcat pour le mode double cœur

Pour déterminer si le mode double cœur est actif, recherchez dans adb logcat pour trouver une chaîne de caractères similaire à la suivante, imprimée au démarrage de l’application :
CreateClient: Value of isCPUSingleThreadedBoost is 0 / 1

Chaînes de logcat pour échanger les niveaux CPU et GPU

Pour déterminer le degré d’échange entre le CPU et le GPU, recherchez dans adb logcat pour trouver une chaîne de caractères similaire à la suivante, imprimée au démarrage de l’application :
CreateClient: Value of tradeCpuForGpu is 1
Logo nav.
Français (France)
©2026 Meta