8.02 Shader prédéfini Retro et lag généralisé sur Pi 4 (même après nouvelle installation) : début de cause trouvée ?
-
Bonjour à tous !
J'en appelle à votre mansuétude pour ce premier sujet qui en plus s'attache à un sujet qui a déjà été abordé (mais semble-t-il non résolu) sur le forum (ici par exemple ).
En résumé : les shaders prédéfinis RETRO (menu principal de recalbox -> sous menu option des jeux) font ramer tous les émulateurs et cela semble être en lien avec la fréquence d'affichage détectée des moniteurs/TVs lorsque ce set spécifique est utilisé.
En plus long.
Rejoignant la communauté matérielle avec la réception d'un kit Kubii recalbox (PI 4 2 GB) je me suis précipité pour installer recalbox et tester le tout avec un rendu proche des écrans CRT de mon adolescence. Et là déception : la musique saccade, ça rame et sur toutes les machines testées (pas toute utilisées), même en pause, même les vieilles 8 bits, etc.Difficile de croire à un déficit de puissance du Pi 4 quand cela se produit sur toutes les machines et quand le bug disparait dès qu'on change de shader (les shaders prédéfinis (fort mal nommés à mon humble avis soit dit en passant) "scanlines" par exemple (au rendu d'un écran LCD et pas du tout scanlines) fonctionne de façon fluide à chaque fois). Alors donc on peut utiliser un autre type de shader mais pas le beau rendu type scanlines qu'on est certains à vraiment adorer (et pas la peine de me renvoyer vers le RGB Dual, c'est pas le sujet !).
Pour reproduire rapidement l'effet (ce que j'encourage pour que l'on confirme le bug) : installation neuve sur Pi4, passage dans le menu général (et son sous menu) en shaders prédéfinis RETRO et lancement d'une Rom d'origine de la distribution (par exemple le très joli Silver Valley sous Sega Master System dont la musique de lancement hachée dans cette configuration arrache les oreilles d'entrée).
Après pas mal de tests et surtout grâce à l'aide bienveillante de l'équipe présente sur le channel discord de "support", "Mas" a mis le doigt sur ce qui posait problème : la fréquence estimée de rafraichissement verticale erronée.
On accède à cette information en ouvrant le menu RetroArch (bouton hotkey + bouton du bas), en allant dans le menu réglages (bouton droit, choix réglages), le sous menu Vidéo et le sous sous menu sortie vidéo.
Résultat : "Fréquence de rafraichissement vertical" de 60 HZ, "Fréquence estimée de l'écran" de 32.9 Hz environ et "changer la fréquence de rafraichissement détectée" à 60 Hz (mais utiliser cette option ne change rien).
On s'est amusé à jouer avec pas mal de paramètres ( pilote vidéo, numéro du moniteur, et dans un autre menu, synchro verticale, freesync) sans que cela ne change rien. Le changement de moniteur/écran TV n'y change rien non plus.
Dès que le shader prédérini "Retro" est utilisé avec ce rendu en scanlines, ça rame et la fréquence détectée est mauvaise. Si l'on change de shader (hotkey +R2) on retrouve musique et affichage fluide mais on perd ce rendu si joli.
Bref, il me semble qu'il y a là un bug logiciel assez clair, peut-être pas imputable à Recalbox directement (on est dans les menus RetroArch après tout), qui pourrait possiblement être patché pour le plus grand bonheur des amateurs de scanlines sans CRT !
En espérant que cela puisse contribuer à faire avancer le schmilblick !
-
Bonjour @assezparlédemoi,
essaye de voir si la manip décrite ici ne résout pas ton problème. Il faut éditer le fichier recalbox.conf avec Notepad++. Force ton moniteur en 1080p.
-
Petit update : après plein de tests (sur trois écrans différents, après réinstallation fraiche même avec un Pi sorti du boitier et branché directement avec des câbles d'origine), tous les symptômes persistent.
Le forçage en 720p ne provoque pas le même effet... reste à voir (prochain chantier) si les filtres utilisés sont bien avec le réglage Retro les mêmes au final (doute) sachant que le rendu n'est pas du tout aussi joli (en même temps c'est logique, il y a moins de pixels pour afficher de belles lignes noires).
Je ne pense vraiment pas que ce soit une question de puissance du GPU et ça ressemble toujours beaucoup à un bug de contrôle de la fréquence d'affichage avec ce type de filtre particulier.
-
As tu essayé le Shader CRT Caligari qui est en fait le Shader "retro" de recalbox.
Dans le shader Retro, il me semble qu'il soit en plus associé avec un deuxième effet (au moins sur SNES mais peut être pas sur les autres)Aussi il faut penser a ne pas activer les options gourmandes en ressources (Fonction rembobinage, run ahead etc...)
Et pour que le shader puisse avoir le bon ratio (ligne sombre au bon endroit) il est conseillé d'etre en "pixel perfect"
Pour que le Pixel Perfect puisse prendre la plus grande partie d'un ecran en 1080, il est en effet plus judicieux de forcer la sortie des jeux en 720. La raison est une histoire de multiplication de la résolution native des jeux, en effet 720/224 on est tres proche du 3 donc ca occupe presque toute la hauteur de l'écran, alors que 1080/224 on est plus loin de 4, donc ca donnera une plus petite fenetre.Apres j'avais aussi trouvé des réglages de shaders sympa, jette un œil (ils ne font pas ramer le Pi3 et Pi4) :
https://forum.recalbox.com/topic/26968/shader-crt-dithering-réglages-perso
Tu peux aussi désactiver l'option "lisser les jeux" si jamais tu les trouvais trop flou, ca te donnera un rendu assez proche du mode "retro"