L'équipe en charge du développement de Ryujinx propose sur son blog son nouveau rapport sur son émulateur, cela faisait un peu plus de 2 mois que nous avions pas eu ce rapport et il faut avouer que cela nous avait manqué.
Bien entendu la Team l'explique par le fait qu'elle a pris un peu de vacances, et donc il était important de faire un point sur toutes les évolutions apportées sur ces 2 derniers mois.
Ryujinx a connu des problématiques similaires à ceux de Yuzu notamment sous Red Dead Redemption, ainsi des corrections ont été faite sur des bugs liés à Vulkan, mais il y a aussi d'autres jeux, et en conséquence des bugs sur OpenGL, sur des textures d'objets notamment.
Le GPU Switch dispose de certaines méthodes qui lui permettent de charger des données arbitraires dans des tampons à tout moment sans avoir besoin de barrières supplémentaires. Vulkan, en revanche, n'a aucune fonctionnalité permettant ces mises à jour arbitraires ; vous devez être en dehors d'une passe de rendu et effectuer manuellement une copie dans la mémoire tampon ou une écriture calculée pour obtenir un résultat similaire. Sur les GPU de bureau, interrompre une passe de rendu n’est pas particulièrement coûteux et peut même être considéré comme gratuit. Ce n’est malheureusement pas le cas sur les GPU mobiles (comme ceux que l’on trouve dans les puces M1/M2), où mettre fin à une passe de rendu est bien plus un engagement.
La solution à ce problème intrigant est à juste titre ingénieuse. Chaque fois qu'un jeu demande une mise à jour du tampon en ligne, nous pouvons prendre un « miroir » de la liaison actuelle, effectuer la mise à jour, puis effectuer une nouvelle liaison vers le nouveau tampon miroir. Cela peut considérablement améliorer les performances des Mac M1/M2 en fonction de la fréquence à laquelle ils utilisent ces mises à jour de tampon en ligne. La plupart des jeux les exécutent dans une certaine mesure, les améliorations sont donc globales.
Il y eu aussi de nombreuses évolutions dans la gestion de la mémoire, dans la taille du tampon de rendu, l'ajustement des installations scalaires mais aussi de l'interface, ainsi les performances ne diffèrent plus selon la taille de la fenêtre. Auparavant, une petite fenêtre fonctionnait mieux qu’une fenêtre plein écran ! Les performances générales et la réactivité du framework se sont considérablement améliorées. La barre de titre correspondra enfin au thème de couleur de votre système sous Windows. De nombreux éléments mal alignés sur macOS ont été résolus. et enfin Ryujinx est compatible Flatpak! C'était le principal problème avant la version 11.0, si cela n'avait pas été fait les utilisateurs de Linux auraient été laissés pour compte.
Tout est là : blog.ryujinx.org