Comme tous les mois, la Team Yuzu fait le récapitulatif des évolutions de son émulateur Switch nommé tout simplement Yuzu, et elles ont encore une fois étaient nombreuses sur le mois dernier.
Le rapport qu'elle dévoile souvent en milieu de mois permet de connaitre les améliorations, les nouveautés et vers où va les ressources de l'équipe, un bon moyen d'informer mais aussi de rassurer les utilisateurs et ceux qui continuent de soutenir le projet.
Ainsi la team annonce avoir amené une pléthore de correctifs GPU, la prise en charge de nouvelles applets, beaucoup de travail consacré aux versions Android, et des nouvelles intéressantes sur l'avenir.
GPU ?
Des optimisations par certains endroits pour Super Mario Bros Wonder, notamment sur des bascules internes entre VSync à double et triple tampon. De nombreux changements sur la gestion des GPU ont été effectués le mois dernier. Lorsqu'un jeu utilise un tampon de profondeur, il s'inspire généralement d'une scène 3D chargée tout en profitant d'un processus accéléré par le matériel appelé test de profondeur.
Lors des tests de profondeur, le matériel GPU détermine si un pixel est visible ou masqué (occlus) par un autre pixel. Ceci est décidé par leurs valeurs de profondeur. Le tampon de profondeur suit la distance entre chaque pixel stocké et la caméra. Si un pixel rendu est plus éloigné que ce qui a déjà été dessiné sur la scène, alors le pixel est ignoré ; s'il est plus proche, alors il est conservé et les tampons de couleurs sont mis à jour. Généralement, le tampon de profondeur est également mis à jour et écrit, dans ce cas, pour stocker la profondeur du nouvel objet plus proche.
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-1.png)
Il est possible pour un jeu d'utiliser uniquement les tests de profondeur et de désactiver les écritures réelles dans le tampon de profondeur pour des éléments spécifiques, et de nombreux jeux le font lors du rendu d'objets partiellement transparents. Cependant, l'inverse n'est pas permis par les API graphiques comme Vulkan : les conceptions matérielles nécessitent que les tests de profondeur soient activés afin de mettre à jour le tampon de profondeur. Le chemin clair masqué de yuzu pour les tampons de profondeur/pochoir a un shader qui met à jour le tampon de profondeur, et permet ainsi les écritures en profondeur, mais a oublié d'activer également les tests de profondeur. La plupart du temps, cela fonctionnait par coïncidence, car le jeu permettait des tests approfondis et Yuzu ne sortait pas de cet état. Cependant, tous les jeux ne les permettent pas, et sans tests de profondeur, des jeux comme Super Mario 64, ou Super Mario 3D All-Stars, ne peuvent pas restituer correctement le visage de Mario.
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-2.png)
Cela passe par un travail effectué par le développeur Maide, qui lui aussi est à l'origine de l'optimisation de Vulkan Memory Allocator standard (VMA en abrégé) qui est la façon dont il peut aider à nettoyer le code, mais il a aussi résolu des problèmes de cache, de scale de résolution, de redimensionnement d'images, et il a même découvert un problème avec les calculs des shaders lorsqu'ils déclenchaient des invalidations dans le cache de tampon. Bref il a fait un énorme boulot.
Android ?
La version Android a largement était améliorée, il faut dire qu'elle a vu arriver de nombreuses modifications, notamment pour améliorer l'expérience utilisateur et la compatibilité avec les appareils. Ainsi un nouveau gestionnaire de pilotes GPU a été développé.
Des crashs ont été résolus, ceux qui se produisaient uniquement en faisant une simple rotation de l'appareil, et des problèmes liés à Vulkan 1.1, surtout présent sur Adreno 600 et 700 ont là ausi été rectifiés.
Une grille d'accueil a été implémentée, et certains threads de mémoire ont été séparé afin de limiter les freezes.
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-3.png)
Enfin un menu applets nommé "Cabinet" est désormais intégré permettant par exemple d'accéder à l'éditeur Album et Mii, ou à un app permettant de gérer les données Amiibo.
L'interface utilisateur ?
Un support spécifique pour Windows a été apporté, après un début difficile certaines fonctionnalités ont été intégrées, comme des raccourcis permettant de mettre votre jeux directement sur le bureau ou dans le menu démarrer. Il a fallu également créé un format d'icônes, ainsi que sur la gestion de la souris. Des spécifiques comme pour les captures d'écran, mais ils ne peuvent pas tout voir, les développeurs passent beaucoup de temps à ouvrir et fermer yuzu alors que byte[] peut mesurer avec précision que 10 % des crashs d'arrêt qui sont causés par les jeux.
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-4.png)
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-5.png)
Quelques modifications à venir ?
Oui notamment du côté AMD, Polaris et Vega, d'ancienne génération vont sortir du support AMD, les pilotes sont désormais scindés en deux, les 2 derniers vestiges de l'architecture GCN sont sur le point d'être abandonnés. Ces produits exécutent des branches de pilotes Vulkan obsolètes par rapport à RDNA et au matériel plus récent. La nouvelle d'AMDVLK, le pilote Linux AMD officiel, supprimant la prise en charge de ces produits signifie qu'aucun nouveau pilote Vulkan ne sera disponible. Il faut se préparer à la sortie du support de ces générations.
Le Project Nice pour les appareils Android, NCE (Native Code Execution) progresse très bien, mais il reste encore quelques bugs à corriger. Les jeux deviennent non seulement jouables, mais aussi plus rapides sur les appareils soumis à des restrictions thermiques. De plus, le temps passé à charger et fermer les jeux a désormais été considérablement réduit ! NCE a également aidé à comprendre les problèmes liés à l'émulation de processeur dans x86_64, alors attendez-vous à des gains sur les deux fronts.
![](http://www.logic-sunrise.com/images/news/1182590/in-switch-yuzu-fait-son-introspection-du-mois-doctobre-2023-6.png)
Bref, on le voit le travail effectué par la Team Yuzu restent impressionnant, tenant à s'excuser car les devoirs universitaires et les examens retardent un peu la publication des rapports mensuels.
Le rapport intégral se trouve ici :