Développement

Résolution dynamique

Mis à jour: 17 avr 2026
Remarque : depuis UE 5.7, la résolution dynamique est prise en charge dans le Plugin Meta XR standard disponible sur le Marketplace Epic Games. Pour les versions d’UE antérieures à 5.7, le fork Oculus-VR du dépôt GitHub est requis.

Présentation

La résolution dynamique est une fonctionnalité Horizon OS qui permet aux applications d’augmenter automatiquement l’échelle de rendu pour les images n’utilisant pas pleinement le processeur graphique et de la réduire dans le cas contraire.
Cela signifie que les applications utilisant une résolution dynamique établissement automatiquement un équilibre entre la préservation de la fréquence d’images de leur application et le rendu à une résolution optimale.
  • Dans les scènes qui n’utilisent pas pleinement le GPU (c’est-à-dire les couloirs simples), la résolution dynamique augmente l’échelle de rendu, améliorant ainsi la qualité visuelle.
  • Dans les scènes qui utilisent pleinement le GPU (c’est-à-dire les grands viewpoints ouverts, le rendu des personnages cinématographiques), la résolution dynamique permet de réduire l’échelle de rendu, autant que nécessaire pour préserver la fréquence d’images.
En outre, pour les casques Meta Quest 2 et les versions ultérieures, la résolution dynamique est requise pour accéder aux niveaux GPU maximums. Par exemple, le niveau GPU 5 sur le Meta Quest 3 est disponible si la résolution dynamique est activée.

Comment ça marche ?

Les scènes d’une application présentent souvent des niveaux de complexité variables, rendant ainsi difficile l’optimisation pour chacune d’entre elles. La résolution dynamique aborde ces problèmes en adaptant le rendu de la fenêtre d’affichage selon l’utilisation du processeur graphique afin de maintenir la fréquence d’images ciblée.
Si l’application commence à perdre des images, la résolution dynamique passe à une résolution inférieure. Cela permet de réduire les images obsolètes et de maintenir la fréquence d’images cible dans les scènes sollicitant le processeur graphique de manière intensive.
Si l’application n’utilise pas pleinement le processeur graphique, la résolution dynamique passe à une résolution plus élevée afin d’améliorer la qualité de l’image tout en maintenant la fréquence d’images.
Pour éviter de réaffecter la texture des yeux chaque fois que la résolution recommandée change, celle-ci est affectée une seule fois à la résolution maximale. L’application adapte ensuite la fenêtre d’affichage à la résolution recommandée, ce qui évite d’afficher le rendu en dehors de cette fenêtre.
L’activation de la résolution dynamique permet également à Horizon OS d’appliquer des niveaux de GPU supérieurs à l’application en cours d’exécution. L’accès à ces niveaux de GPU dépend de l’utilisation de la résolution dynamique. Ces derniers étant plus élevés, ils consomment davantage de puissance et génèrent donc plus de chaleur, augmentant ainsi les rsiques d’atteindre les limites thermiques du casque.
En activant la résolution dynamique, Horizon OS peut réduire dynamiquement l’échelle de rendu de l’application lors d’un évènement thermique, ce qui rétablit les limites thermiques et empêche la suppression d’images. Comme le maintien de la fréquence d’images est un indispensable pour des expériences VR confortables, les paramètres Horizon OS de niveaux de GPU supérieurs ne sont accessibles que si la résolution dynamique est activée.

Conditions requises

Avant de commencer à utiliser la résolution dynamique, vérifiez que vous disposez de la dernière version de notre intégration Unreal Engine. Voici les conditions requises pour activer la résolution dynamique :
  • Intégration d’Unreal Engine version 53 ou ultérieure

Configuration du projet

Sur les versions 53 et ultérieures d’UE5, dans les paramètres du projet OculusXR/MetaXR, il y aura un nouveau sous-système de résolution dynamique à la fin de la section Mobile.
Dans les versions 71 et ultérieures d’UE5, vous pouvez régler la densité de pixel minimale et maximale de chaque appareil dans Tools (Outils) > Platforms (Plateformes) > Device Profiles (Profils d’appareil) ou BaseDeviceProfiles.ini. Utilisez r.Oculus.DynamicResolution.PixelDensityMin et r.Oculus.DynamicResolution.PixelDensityMax pour configurer ces paramètres.
Cochez la case Enable (Activer) pour activer la résolution dynamique.
Les densités de pixels minimale et maximale sont les limites de la fonctionnalité de résolution dynamique, définies par un facteur de la résolution par défaut du tampon d’affichage piloté par le runtime. La résolution du jeu ne passera jamais en dessous de 0,8x la taille par défaut du tampon d’affichage ni au-dessus de 1,2x la taille par défaut du tampon d’affichage (les valeurs par défaut pour r.Oculus.DynamicResolution.PixelDensityMin et r.Oculus.DynamicResolution.PixelDensityMax).
La cible de rendu est allouée à la densité de pixels maximale configurée (PixelDensityMax), la fenêtre d’affichage et les ciseaux étant utilisés pour la mise à l’échelle.

Implémentation

La chaîne d’échange XR affectée par le runtime VR, et toutes les cibles de rendu intermédiaires que le moteur a besoin de créer, telles que le tampon de profondeur, sont réparties à la densité maximale de pixels définie dans la configuration de résolution dynamique. Cela a pour effet d’augmenter légèrement l’empreinte RAM de l’application.

Modifier la résolution des rendus

Par défaut, la résolution des rendus est contrôlée dynamiquement image par image par le runtime, mais vous pouvez aussi la remplacer en spécifiant manuellement la densité de pixels souhaitée. La définition de la CVar r.Oculus.DynamicResolution.PixelDensity sur une valeur supérieure à 0, comprise entre les valeurs minimale et maximale, oblige le moteur à choisir cette densité de pixels. Redéfinir la CVar sur 0 restitue le contrôle de la résolution au runtime.
L’implémentation de la résolution dynamique Meta XR est intégrée dans le système de résolution dynamique UE natif. Notez que c’est le runtime OpenXR qui pilote la résolution, et non le moteur. Vous pouvez donc utiliser les outils standards pour visualiser la résolution d’exécution.
Par exemple, utilisez la commande de console hmd stats pour afficher la densité de pixels actuelle sur la superposition du casque (HMD). La superposition indique la valeur actuelle de la densité de pixels.
Pour découvrir une autre approche de l’adaptation de la résolution, consultez l’article sur la densité de pixels adaptative.

Recommandations

Compromis

La résolution dynamique ajuste la résolution de rendu en fonction de la complexité de la scène. Son activation implique de comprendre les compromis suivants :
  • Le facteur maximal d’adaptation de la résolution sera utilisé pour affecter le tampon d’affichage au démarrage. Cela signifie que votre application utilisera plus de mémoire si vous spécifiez un facteur maximal d’adaptation des rendus supérieur à 1,0x.
  • Définir un facteur minimal d’adaptation des rendus faible pourra entraîner une dégradation de la qualité si la fréquence d’images ne peut être maintenue.
Si vous pouvez assumer le coût supplémentaire de la mémoire, il pourrait être utile d’augmenter le plus possible le facteur d’adaptation maximal afin d’obtenir une image de meilleure qualité dans les scènes où le processeur graphique n’est pas utilisé de façon intensive. Pour le facteur d’échelle de résolution minimal, si vous choisissez un facteur trop élevé, vous pourriez commencer à perdre des images dans certaines des scènes utilisant de manière intensive le processeur graphique. D’un autre côté, si votre facteur de mise à l’échelle minimal est trop bas, les utilisateur·ices remarqueront peut-être une dégradation de la qualité avec l’augmentation de l’utilisation du processeur graphique. Cette effectuer peut être moins visible dans les scènes comportant beaucoup d’action et d’effets spéciaux, et plus visible dans les séquences au rythme plus lent.

Profiler une application avec la résolution dynamique

Désactivez la résolution dynamique lors du profilage de votre application, car cela aura un impact sur les performances de cette dernière.
Gardez à l’esprit que la résolution dynamique n’est pas une solution à tous les problèmes de performance. La résolution dynamique abaisse la résolution de votre application si elle est mal optimisée pour maintenir la fréquence d’images. Afin de maintenir une résolution élevée à la fréquence d’images ciblée, vous devez toujours utiliser les outils appropriés pour profiler et optimiser votre application de la manière la plus complète possible avant d’activer la fonctionnalité.
Enfin, votre application devra également respecter les critères de performance, qui empêchent les applications de fonctionner à basse résolution la plupart du temps. Pour plus d’informations, consultez les exigences en matière de performances de la VRC.

Rendu fovéal dynamique

Il est possible d’activer le Rendu fovéal dynamique (combinant le rendu fovéal fixe (FFR) et le rendu fovéal par suivi des yeux (ETFR)) grâce à la résolution dynamique. Notez que l’ETFR nécessite un casque Meta Quest Pro. Si la fovéation dynamique est également activée, le runtime peut augmenter le niveau de rendu fovéal afin de récupérer de la marge côté GPU avant de réduire la résolution.
Remarque : l’API de développement VrApi a été abandonnée le 31 août 2022. Voir VrApi et OpenXR pour obtenir des conseils sur la migration. Le tag adb logcat -s VrApi de logcat continue de fournir une télémétrie d’exécution utile sur les appareils Meta Quest.
Vous pouvez vérifier quelle est la résolution d’exécution recommandée en examinant les journaux VrApi :
adb logcat -s VrApi
Voici un exemple de sortie :
FPS=65/72,Prd=50ms,Tear=0,Early=12,Stale=12,Stale2/5/10/max=1/0/0/2,VSnc=0,Lat=-1,Fov=2D,CPU4/GPU=4/4,1478/525MHz,OC=FF,TA=0/0/0,SP=N/N/N,Mem=2092MHz,Free=8191MB,PLS=0,Temp=26.5C/0.0C,TW=1.93ms,App=10.28ms,GD=0.00ms,CPU&GPU=20.74ms,LCnt=3(DR72,LM3),GPU%=0.92,CPU%=0.20(W0.28),DSF=1.00,CFL=16.86/20.74,LD=1,SF=1.03
La valeur d’utilisation du GPU (GPU %) indique une pression croissante sur le GPU. Le runtime recommandera un facteur d’adaptation inférieur pour diminuer le nombre d’images obsolètes et limiter la pression sur le processeur graphique. Le facteur d’adaptation est un multiplicateur appliqué à la résolution du tampon oculaire d’affichage par défaut recommandée par le système.
Logo nav.
Français (France)
©2026 Meta