Avoir la possibilité de configurer nativement, une à une, ses applications et ses jeux, en tirant le meilleur parti du potentiel de son casque et ainsi améliorer l’expérience de jeu et les graphismes, c’est la solution que nous vous proposons.
Modifier les performances graphiques du Meta Quest via SideQuest, une corvée...
Si vous avez déjà manipulé SideQuest, vous avez peut-être un jour essayé de modifier les paramètres de votre Meta Quest. Pour ce faire, vous devez brancher votre casque à votre ordinateur (voir notre tutoriel) ou à votre smartphone Android (voir notre tutoriel) via le câble USB et/ou autoriser le débogage sans fil, puis vous rendre dans l'onglet « Device settings & tools » comme dans la capture ci-dessous.
Depuis cet écran, il est possible de changer la résolution des textures (1) et de modifier les performances du processeur central et du processeur graphique (2), ou encore le rendu fovéal fixe (3). Le résultat est une image souvent plus nette et détaillée et/ou une application plus fluide.
Les images suivantes montrent le paramétrage de la résolution des textures (512px vs 3072px) dans le jeu Walkabout Mini Golf.
Cependant, ces manipulations nécessitent des allers et retours sur l'ordinateur ou le smartphone, et de quitter son casque pour procéder aux nouveaux paramétrages depuis l'application SideQuest, dès lors que le casque redémarre ou que nous souhaitons modifier un autre jeu.
Passez-vous de SideQuest en appliquant des profils automatiquement grâce au Quest Games Optimizer !
La solution que nous proposons est un outil, sous forme de macro (voir notre tutoriel pour programmer et automatiser notre casque VR à l'aide de macros) qui permet de nous affranchir des manipulations répétitives de SideQuest, de garder le casque sur la tête et de stocker en mémoire un paramétrage spécifique pour chaque jeu que nous souhaitons modifier. Il devient alors possible de jongler entre nos jeux préférés, réglés aux petits oignons.
Et concrètement, comment cela se passe ? Eh bien, quand un jeu que nous souhaitons paramétrer se lance, son profil personnalisé (saisi à la main ou prédéfini par nos soins) est automatiquement appliqué et une notification apparaît, indiquant le succès de l'opération.
Gardez cependant en tête que cette manipulation n’améliore pas les performances ni la netteté des jeux PC VR. En effet, pour ces derniers, c’est la carte graphique de l’ordinateur qui travaille à la génération des images et les envoie telles quelles au Meta Quest, qui agit tout simplement comme un écran.
Paramétrages possibles
Nous paramétrons les profils de performance graphique par jeu dans une variable faisant office de fichier de configuration.
Le paramétrage des profils contient les paramètres suivants. Ils sont optionnels et si vous ne les renseignez pas, les valeurs par défaut seront appliquées.
- TS (Texture Size) : change la qualité du rendu des textures pour chaque œil. Il s'agit en quelque sorte d'un suréchantillonnage (supersampling).
Ci-dessous la résolution (par œil) par défaut et la résolution native des Meta Quest 1 et 2.
Par œil (px) Quest 1 Quest 2 Défaut 1216x1344 1440x1584 Native 1440x1600 1832x1920
La résolution de l'écran est bien supérieure à la résolution par défaut des Quest. C'est pourquoi, nous sommes tentés d'exploiter pleinement, voir outrepasser la résolution native pour obtenir une meilleure finesse d'affichage. Dans le cas du Quest 2, vous remarquerez que la résolution par défaut est égale à la résolution native du Quest 1. C'est pourquoi bon nombre de contenus nous apparaissent flous.
Voici la taille des textures disponibles par défaut. Ce sont celles reprises dans l'application SideQuest. Il s'agit des résolutions pour chaque œil.
Valeur par défaut Par œil (px) 512 512 x 563 768 768 x 845 768 768 x 845 1024 1024 x 1127 1216 1216x1344 1440 1440 x 1584 1536 1536 x 1690 2048 2048 x 2253 2560 2560 x 2816 3072 3072 x 3380
Depuis la version 2.0.0 du Quest Games Optimizer, nous pouvons définir une résolution « exotique » de texture, à 2000px par exemple, au lieu des valeurs listées ci-dessus.
Attention cependant, tout comme sur un ordinateur, jouer sur le suréchantillonage induit un besoin en ressources beaucoup plus conséquent. De ce fait, il devient nécessaire d'augmenter les performances générales du casque pour tenir une cadence d'image satisfaisante et ainsi éviter les lags.
- PERF : définit le niveau de performance du CPU et du GPU.
* Par défaut, le casque gère dynamiquement ses performances.
Valeur Description 0 Power Save 1 Low 2 Medium 3 High 4 Very High (et chaud)
- FFR (Fixed Foveated Rendering) : rendu fovéal fixe. Définit la façon dont l'image est rendue dans les bords extérieurs. Il est possible de garder la netteté de l'image au centre de la lentille tout en dégradant l'image sur le pourtour. En résulte un gain de performance, car le casque ne calcule plus toute l'image en haute résolution. En principe, cet artifice est quasiment imperceptible pour nos yeux, car les lentilles de par leur conception convexe rendent l'image floue au fur et à mesure que notre regard s'éloigne du centre de l'image.
Plus la valeur est élevée, plus l'image est floue sur les côtés et plus la puce graphique est soulagée.
* Par défaut, le casque utilise un rendu fovéal dynamique.
Valeur Description 0 Off 1 Low 2 Medium 3 High 4 Very High
- Voici un exemple de configuration. Notez que pour le premier profil, le FFR n'a pas été indiqué. Ce sera donc un FFR dynamique qui sera utilisé et géré par le casque. Vous pouvez en faire de même avec TS et PERF :
« MyGame1;TS:2048;PERF:2; | MyGame2;TS:3072;PERF:3;FFR:4;| »
Chaque profil de jeu, et application, est séparé par le caractère « | » et chaque paramètre se termine par un « ; ».
Il est possible de renseigner autant de profils que souhaité. Pensez néanmoins à enrichir le déclencheur de la macro « Quest_Games_Optimizer » pour ajouter les jeux que vous souhaitez optimiser.
Les captures ci-dessous sont tirées des jeux After The Fall (lire notre test) et Mission: ISS pour lesquels nous avons établi des profils de performances graphiques. La différence de netteté des scènes est clairement visible entre les images « AVANT » et « APRÈS ».
Soyez conscients de ce que vous faites
Gardez à l'esprit que ces manipulations ne sont pas anodines et peuvent entraîner la surchauffe du casque, son instabilité, une baisse de fréquence d'images et de l'autonomie de la batterie. Néanmoins, modifier ces paramètres en connaissance de cause peut s'avérer bénéfique dans de nombreuses situations et apporter une réelle plus-value dans les jeux vidéo notamment.
Ces manipulations nécessitent d'être appliquées de la bonne manière. Si vous augmentez par exemple la résolution des textures, il faudra sûrement augmenter les performances du CPU et du GPU ou jouer avec le rendu fovéal fixe.
Prérequis et installation
AVERTISSEMENT : avant de vous lancer dans les manipulations suivantes, nous tenons à préciser que nous ne sommes pas tenus pour responsable des possibles désagréments qui pourraient survenir sur votre appareil lors de son paramétrage. Aussi, vous agissez en connaissance de cause.
Pour poursuivre le présent tutoriel et faire fonctionner le Quest Games Optimizer, il est nécessaire que votre casque soit en mode développeur.
Étapes d'installation (à faire une seule et unique fois) :
- Installation de MacroDroid ;
- Installation du plug-in ADB ;
- Activation du plug-in ADB ;
- Récupération de la macro « Quest_Games_Optimizer » ;
- Configuration automatique de la macro en fonction du modèle de casque et récupération des profils cloud ;
- Acceptation de la clé RSA.
Actions récurrentes :
- Récupération des derniers profils cloud ;
- Sélection des jeux à optimiser depuis la macro ;
- Configuration manuelle des jeux si besoin ;
- Activation du débogage Wi-Fi (à chaque redémarrage à froid du casque).
La vidéo suivante est un guide d'installation, mais fait aussi office de démonstration des capacités du Quest Games Optimizer. L'installation des .apk (téléchargement à cette adresse), l'activation du plug-in et la récupération de la macro « Quest_Games_Optimizer » depuis l'application MacroDroid ne sont à faire qu'une seule et unique fois.
Ce n'est pas visible dans la vidéo ci-dessus, mais quand un profil est détecté et appliqué, une notification apparaît, synonyme de succès.
Attention, même si les possibilités de cet outil vous semblent miraculeuses, il y a un hic. Tant que les droits Super Utilisateur (root) ne sont pas disponibles sur les Meta Quest (c’est par contre le cas sur l’Oculus Go), nous sommes dans l’obligation, à chaque redémarrage physique du casque (la mise en veille ne pose pas de souci, ni l'extension de l'écran), d’activer le débogage Wi-Fi depuis l’application SideQuest, l'Oculus Developper Hub ou des commandes manuelles. Ce qui implique de brancher le casque à notre ordinateur ou à notre smartphone Android, à chaque fois que le casque démarre à froid. C’est une limitation du système Android qui réinitialise les paramètres de débogage ADB à chaque redémarrage. La même chose se passe si vous faites vos manipulations manuellement via l'application SideQuest.
Pour en savoir plus sur Macrodroid, ADB et la finalité du plug-in, rendez-vous dans la section « Lexique » en bas du tutoriel.
Vous ne voulez pas vous embêter à configurer vous-même vos jeux ? Profitez des configurations déjà établies par nos soins !
Nous mettons à disposition de nombreux profils de performances graphiques déjà pré-établis et testés par nos soins. Pour récupérer nos derniers profils, il vous suffit d'appuyer deux fois sur le bouton Power (éteindre puis allumer l'écran ou mode veille). Le Quest Games Optimizer les sauvegardera pour vous. Si jamais la configuration que nous vous proposons ne vous plait pas, rien ne vous empêche de l'écraser en remplissant vous-même votre propre configuration dans la variable « appsPerformancesProfiles ».
Nous veillons à ce que les profils que nous vous proposons respectent un certain cahier des charges :
- Amélioration de la netteté par rapport à celle du jeu d'origine ;
- Maintien du nombre d'images par secondes (fps) au niveau de la fréquence d'image du casque définie pour le jeu. Nous essayons donc de ne pas descendre sous les 72 fps constant pour une fréquence de 72 Hz afin d'éviter au maximum les lags ;
- Chauffe modérée de la batterie quand cela est possible.
Le Quest Games Optimizer ne fonctionne pas, que faire ?
La notification ne s'affiche pas :
- Vérifiez que l'application que vous souhaitez paramétrer est présente dans le déclencheur d'applications de la macro ;
- Vérifiez l'orthographe des applications que vous avez paramétrées dans la variable « appsPerformancesProfiles » ;
- Pensez à séparer les profils avec un « | » et les paramètres avec un « ; » ;
- Pensez à vérifier que l'option « ne pas déranger » est désactivée sur votre casque ;
- Attention, nous ajoutons régulièrement de nouveaux profils de jeux dans notre base de donnée cloud, mais beaucoup manquent encore à l'appel, aussi certains jeux sont à configurer de votre côté tant que nous ne les avons pas enregistrés dans notre base de données.
Si le profil de performance graphique ne s'applique pas malgré la présence de la notification du profil appliqué, ou que vous rencontrez une erreur :
- Vérifier que le débogage Wi-Fi est toujours activé. Pour cela, il suffit de vérifier dans SideQuest si le témoin de connexion est vert et réactiver au besoin le débogage sans fil ;
- Relancer le plug-in ADB Shell [Tasker Plugin] ;
- Acceptez de nouveau le débogage USB et la clé RSA ;
- Dans certains cas (assez rares), si le casque est occupé par exemple, la macro pourrait ne pas se déclencher en temps et en heure au lancement d'un jeu. Aussi, le profil pourrait ne pas s'appliquer correctement. Une notification vous préviendra si le temps de traitement dépasse une certaine limite (elle ne couvre pas tous les cas) et vous serez invité à tout simplement relancer votre jeu.
Mettre à jour la macro
Nous enrichissons en permanence le Quest Games Optimizer. À l'heure du présent tutoriel, la macro « Quest_Games_Optimizer » est en version v2.0.0, mais vous pourriez recevoir une notification vous indiquant la présence d'une nouvelle mise à jour à télécharger.
Pour mettre à jour la macro, il suffit de se rendre dans l'onglet « Macros » de l'application MacroDroid et de faire un appui long sur la tuile de la macro visée, puis de cliquer sur « Effacer ».
Attention cependant, suite à la réinstallation de la macro, vous devrez reparamétrer votre déclencheur d'applications.
Notes de mises à jour
2.0.0 [2021-12-29] (Quest_Games_Optimizer)
- Dorénavant il n'y aura qu'une seule macro : « Quest_Games_Optimizer » . Elle remplace les deux existantes (« OQ_APP » & « OQ_APP_Reset »).
- Configuration automatique du casque.
- Création automatique de la variable globale « appsPerformancesProfiles ».
- Initialisation de la variable globale « appsPerformancesProfiles » avec un exemple de profil.
- Possibilité de définir des valeurs customisées pour la taille des textures. Plus besoin de respecter les tailles par défaut (2048, 2560, etc.).
- Possibilité d'obtenir des profils depuis une source externe comme un FTP perso via la variable globale « appsPerformancesProfilesCustomUrl ». Ex : http://myDomain/myProfilesFile.txt.
- Séparation des profils cloud pour le Quest 1 et le Quest 2.
- Rafraîchissement des profils cloud en appuyant deux fois sur le bouton Power (écran éteint puis allumé ou mode veille). Ce n'est plus automatique.
- De retour dans le home, le casque utilisera par défaut un rendu fovéal dynamique.
- De retour dans le home, le casque utilisera par défaut un niveau de CPU et GPU dynamique.
- Mode débogage.
- Corrections mineures et optimisation du code.
- NB : pensez à supprimer ou désactiver les anciennes macros OQ_APP & OQ_APP_Reset.
1.1.0 [2021-11-28] (OQ_APP & OQ_APP_Reset)
- Profils de performances graphiques téléchargés automatiquement depuis le cloud. La liste est mise à jour régulièrement.
- La variable globale « appPerformancesProfiles » permet de surcharger au besoin les profils provenant du cloud.
- Notification de détection du profil.
- Notification d'application du profil.
- Notification en cas d'erreur.
- Notification de mise à jour des macros.
- Paramétrage des configurations plus permissif.
1.0.1 [2021-11-16] (OQ_APP & OQ_APP_Reset)
- Suppression des blancs en début et fin de configuration.
1.0.0 (OQ_APP & OQ_APP_Reset)
- Initialisation de la macro.
Remerciements
Nous tenons tout particulièrement à remercier les personnes suivantes :
- Cédric Carvalho pour son excellent travail sur le nouveau logo de l'application. Il a su répondre à nos attentes et apporter sa touche perso. En résulte un logo dynamique, une identité visuelle bien définie ;
- Nova Lacertae (précieux alliée de la team gamergen/vr) pour son dévouement en tant que dénicheur de profils qui vous permettront bientôt de jouer avec une longue liste de jeux préparamétrés ;
- Guilhem Esteve pour ses idées apportées à la version v2.0.0 et son regard extérieur en tant que développeur ;
- Et Samuel Hédouin (développeur et rédacteur chez gamergen/vr) pour avoir fait sortir de sa tête et développé ce formidable outil qui nous permet aujourd'hui d'optimiser nos Meta Quest.
Les profils que nous proposons actuellement pour le Meta Quest 2 (14/01/2022)
- 2MD: VR Football Unleashed
- Acron: Attack Of The Squirrels
- Angrys Birds VR: Isle Of Pigs
- Audio Trip
- After the Fall (lire le test)
- All-In-One Sports VR
- ALTDEUS: Beyond Chronos
- Anne Frank
- Arcsmith (lire le test)
- Baba Yaga
- Bait !
- Beat Saber
- Blaston
- Bogo
- Bowman
- Cards & Tankards
- Carly And The Reaperman
- Clash Of Chefs
- Color Space
- Contractors
- Cook-Out
- Crashland
- Crisis VRigade 2
- Cubism
- Dance Central
- Deism
- Demeo (lire le test)
- Disc Ninja (lire le test)
- Down The Rabbit Hole
- Drop Dead Dual Strike
- Dreadhalls
- Electronauts
- Elixir
- Falcon Age
- First Contact
- First Step
- Fruit Ninja VR
- Gloomy Eyes
- Gorilla Tag
- Gorn
- Guns'n'Stories: Bulletproof
- Home After War
- Hyper Dash
- I Expect You To Die
- I Expect You To Die 2
- Job Simulator
- Journey Of The Gods
- Keep Talking And Nobody Explodes
- Kingspray Graffiti
- Layers Of Fear VR
- Learn Languages VR By Mondly
- Loco Dojo Unleashed
- Lucky's Tale (lire le test)
- Luna
- Merry Snowballs
- Mission: ISS
- Moss
- Ocean Rift
- Onward
- Painting VR
- Paranormal Activity: The Lost Soul
- Physics Playground
- Please Dont Touch Anything
- Poker Star VR
- Population: One
- Puzzling Places
- Racket Fury
- Real VR Fishing
- Republique VR
- Robo Recall
- Sam and Max: This Time It's Virtual!
- Shadow Point
- Shooty Fruity
- Smash Drums
- Solaris
- Space Folk City
- Sports Scramble
- Squingle
- Star Chart
- Star Shaman
- Stride (lire le test)
- Super Hot VR
- Swarm
- Sweet Surrender
- Synthriders
- Ragnarok (lire le test)
- Resident Evil 4 (lire le test)
- Rez Infinite
- Richie's Plank Experience
- Tetris Effect
- The Curious Tale of Stolen Pets
- The Room VR
- The Thrill Of The Fight
- The Under Presents
- Touring Karts
- Tribe XR | DJ in VR
- Until You Fall
- Vacation Simulator
- Walkabout Mini Golf
- Warplanes: WW1 Fighters
- Wolves
- Wraith: The Oblivion - Afterlife (lire le test)
- Yupitergrad
- Zooma
Faites-nous savoir dans les commentaires ou sur les réseaux si vous trouvez de nouvelles configurations ou tout simplement si celles que nous proposons peuvent être améliorées. Nous comptons sur la communauté pour faire grandir cette liste.
Lexique
- MacroDroid
Application Android disponible pour smartphone, permettant de programmer son appareil Android sous forme de macros et d'exécuter des tâches automatiquement suivant de nombreuses règles et conditions (lire le tutoriel complet).
- ADB
ADB est l’outil de base des développeurs et de tous les bidouilleurs qui veulent manipuler leur appareil Android depuis un ordinateur. Il fait partie du SDK (kit de développement logiciel d’Android). ADB est l’acronyme de Android Debug Bridge. C’est un pont entre le système Android et notre ordinateur, ou plus globalement notre appareil Android et un autre appareil. Il permet aux développeurs (et autres acteurs de l’écosystème Android), de communiquer avec leur appareil grâce à des commandes. Le tout fonctionne sur le modèle client-serveur (ou esclave-maître).
adbd
, le daemon (processus en arrière-plan) d’ADB tourne sur l'appareil Android et peut recevoir des commandes depuis un serveur ADB, installé sur un ordinateur ou tout autre appareil, et ainsi les exécuter. Dans la plupart des cas, il est utilisé via une connexion USB. C'est ce qui se passe lorsque nous branchons le Meta Quest sur notre ordinateur. Le client (notre casque), passe en mode débogage et reçoit des commandes depuis le serveur (notre ordinateur et SideQuest), comme le changement de résolution des textures via une commande Shell.
- Plug-in ADB Shell
Le plug-in ADB Shell est une extension qui vient se greffer sur l'application Macrodroid. Elle permet d’envoyer des commandes ADB Shell à un appareil Android distant, soit par une connexion USB, soit par le Wi-Fi. Mais il va encore plus loin. Il autorise aussi l’appareil à s’envoyer des commandes à lui-même en utilisant le protocole ADB intégré au système Android. Mais pour ce faire, le débogage Wi-Fi doit être activé.
Lire aussi :
- TUTO Oculus Quest : programmer et automatiser notre casque VR à l'aide de macros, c'est possible et pas bien sorcier !
- SideQuest pour les nuls, compte développeur, etc.
- TUTO Oculus Quest 1 et 2 : utilisation de SideQuest depuis un smartphone Android
- Lexique de la VR, la bible des termes de la réalité virtuelle pour les nuls !
- Quest Games Optimizer: optimize your games and your headset natively ! (version anglaise)