Frizti vient de publier Fritchii v5.3, une nouvelle pré-release de son émulateur consacré à The Legend of Zelda: Ocarina of Time. Cette mise à jour arrive rapidement après les versions 5.1 et 5.2 et se concentre principalement sur un problème rencontré par les possesseurs de cartes graphiques AMD. Les changements sont nombreux en quelques heures.
AMD : le problème des Shader Libraries enfin corrigé
C'est le changement majeur de cette version 5.3.
Dans Fritchii v5.2, les bibliothèques de shaders étaient censées être automatiquement désactivées sur les cartes AMD utilisant les pilotes Windows. Cette protection devait notamment éviter les plantages observés sur les Radeon RX 5000 et RX 6000 pendant la compilation des shaders. Cependant, le développeur a découvert que la détection des pilotes AMD ne fonctionnait pas correctement. Résultat : les bibliothèques restaient activées et certains utilisateurs continuaient de rencontrer des crashs. Avec la v5.3, cette désactivation est désormais réellement appliquée par défaut sur AMD. Les utilisateurs ayant déjà désactivé manuellement cette option ne constateront aucun changement particulier.
Une meilleure gestion des téléchargements
Autre amélioration : le mécanisme de mise à jour a été renforcé. Lorsque les serveurs de fichiers GitHub renvoient une erreur, notamment une erreur HTTP 504, ou lorsque la connexion est interrompue, Fritchii tente désormais automatiquement de relancer le téléchargement plusieurs fois avant d'abandonner.
Frizti demande des rapports aux utilisateurs AMD
Le développeur souhaite également améliorer la prise en charge des cartes AMD. Lors de la préparation initiale des shaders, une grande partie des shaders d'Ocarina of Time est actuellement ignorée sur ces GPU, car ils ont été enregistrés à partir d'une carte NVIDIA. La version 5.3 ajoute donc des informations supplémentaires dans les journaux afin de déterminer précisément pourquoi certains shaders sont ignorés. Les utilisateurs AMD sont invités à transmettre leurs rapports après l'écran « Preparing shaders », via Help > Export Log. Ces informations permettront à Frizti d'identifier les problèmes et de travailler sur une meilleure compatibilité.
Rappel des nouveautés de Fritchii v5.2
La précédente version avait notamment apporté :
- Le retour de la géométrie invisible sur les GTX 10 et cartes plus anciennes grâce à une solution de remplacement utilisant le calcul GPU.
- La correction de problèmes d'écriture mémoire des textures sur AMD.
- La correction de plantages liés à la saturation du budget mémoire.
- Le retour du menu contextuel complet pour les moddeurs.
La v5.3 constitue donc un correctif ciblé plutôt qu'une nouvelle évolution majeure des performances.
Fritchii v5.2 : plusieurs corrections importantes
La version 5.2 apporte plusieurs améliorations ciblant particulièrement les cartes graphiques anciennes et les GPU AMD.
Les possesseurs de cartes NVIDIA GTX 10 et générations précédentes devraient notamment constater une meilleure restitution graphique. Certains éléments invisibles dans les versions précédentes sont désormais rendus grâce à une solution de remplacement utilisant le calcul GPU (compute fallback), notamment pour les objets qui nécessitent normalement des mesh shaders.
Quelques éléments de végétation ou certains murs peuvent toutefois encore manquer ou scintiller.
Du côté d'AMD, un problème de gestion mémoire des textures a été corrigé. Certaines images dont les dimensions n'étaient pas des multiples de la taille des blocs pouvaient écrire au-delà de leur zone mémoire. Sur les cartes AMD, cela provoquait des blocs noirs, des artefacts graphiques et parfois un plantage du GPU.
Autre changement important : les bibliothèques de shaders sous Windows sont désormais désactivées automatiquement sur AMD. Certaines cartes RX 5000 et RX 6000 rencontraient des plantages lors de leur compilation.
Enfin, un correctif évite désormais les plantages lorsque le budget mémoire du PC est atteint pendant les longues sessions de jeu.
Le menu contextuel complet est également de retour sur l'écran d'accueil, avec notamment les fonctions permettant d'ouvrir le dossier des mods, d'extraire le RomFS, de vérifier l'intégrité des fichiers ou encore de lancer un jeu sans configuration personnalisée.
Fritchii v5 : une évolution majeure des performances
Pour comprendre l'importance de ces correctifs, il faut revenir sur Fritchii v5, qui avait apporté une évolution majeure au fonctionnement de l'émulateur.
La nouveauté principale concernait la précompilation des shaders. Jusqu'ici, la découverte d'une nouvelle zone pouvait provoquer des saccades importantes, le temps que les shaders soient compilés.
Désormais, cette opération est effectuée avant de commencer à jouer. Sur Ocarina of Time, cette préparation demande environ 15 minutes sur un processeur 8 cœurs, mais elle permet ensuite de réduire considérablement les ralentissements lors de la découverte de nouveaux environnements.
Le développeur indique que les pauses liées à la compilation d'un nouveau shader sont passées d'environ 0,7 seconde à seulement 40 à 70 millisecondes.
Les optimisations concernent également la gestion de la mémoire :
- Environ 2,3 Go de RAM économisés.
- Environ 2,4 Go de mémoire vidéo économisés dans le marché d'Hyrule, passant de 8,8 à 6,4 Go.
- Environ 3 FPS supplémentaires dans les zones peuplées grâce à plusieurs optimisations.
Une meilleure gestion des threads graphiques et de la traduction des shaders.
Sur une configuration équipée d'un Ryzen 7 7800X3D et d'une RTX 4080, Fritchii v5 permettait déjà d'obtenir 60 FPS dans de nombreuses zones, avec des baisses rarement inférieures à 45 FPS, y compris dans les environnements les plus exigeants comme le Temple de l'Eau.
Fritchii v5.1 : une première série de correctifs
La version 5.1 avait ensuite corrigé plusieurs problèmes apparus avec cette nouvelle architecture.
Les textes des dialogues pouvaient notamment afficher des fragments d'autres textures lors de l'apparition de nouvelles fenêtres de dialogue. Ce problème a été corrigé.
Un menu permettant de supprimer le cache des shaders a également été ajouté, avec une confirmation avant suppression. Les utilisateurs AMD bénéficient aussi d'un correctif ciblant un plantage survenant juste après le lancement du jeu, notamment observé sur une RX 6600 avec un ancien cache de shaders. Enfin, plusieurs problèmes d'affichage sur les écrans 4K et les configurations Windows utilisant une mise à l'échelle particulière ont été corrigés.
Un rapprochement toujours plus important avec Lichii
Un autre élément intéressant concerne le partage des travaux entre les différents développeurs. Fritchii utilise désormais la version 54 du système de cache de shaders de zortos293. Cela permet de partager les caches entre les différentes compilations de zortos et celles de Frizti.
La première exécution copie automatiquement l'ancien cache, ce qui représente environ 1,2 Go supplémentaires pour Ocarina of Time. L'ancien cache version 52 est conservé afin de permettre un retour à Fritchii v4. Le système Dynamic FPS développé par Dark est également intégré directement.
Merci à lui pour l'énorme travail fourni !
Par contre, pour Ocarina of Time... Il faut être patient, chez moi pas loin de 20 minutes ;-)
Mais le jeu est maintenant jouable (quelques saccades très rares)
Reste quand même que sur une configuration comme la mienne, il va falloir encore pas mal d'optimisation pour que j'arrive a jouer dans des conditions comparables à la Switch 2. En revanche, j'ai gagné quelques FPS pour MKW et je suis à 30 FPS constant maintenant. Donc cette version est bien mieux que les anciennes, en plus il y a eu une refonte de l'interface, c'est bien mieux aussi de ce côté là.