Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Temps de latence Bluetooth

    Recalbox Général
    manette ps3 bluetooh latence input lag lag
    13
    24
    11321
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • cycloid
      cycloid last edited by cycloid

      Re : [Résolu]Temps de latence manette PS3 + dongle bluetooth

      Bonjour à tous,
      J'ignore si le sujet a déjà été abordé, j'ai effectué des recherches et n'ayant pas trouvé de sujet en Français traitant exactement du problème j'ai décidé d'en créer un.

      J'utilise un raspberry PI3 et la version 17.12.02 de Recalbox. J'ai constaté des problème de latence lors de l'utilisation d'une manette PS3 en bluetooth et j'ai trouvé sur le net une solution fonctionnelle que j'aimerais partager avec vous.
      Avant d'entrer dans le vif du sujet, je tiens à préciser qu'il faut bien dissocier les latences liées à l'écran du téléviseur utilisé (Input Lag) et celles liées à la connexion bluetooth. Dans mon cas, j'ai effectué tous les tests nécessaires qui me permettent de confirmer que l'origine du problème se situe bien au niveau de la connexion bluetooth.

      Donc, je constate des problèmes de latence pendant l'utilisation générale de Recalbox (Navigation menu, et jeu depuis n'importe quel émulateur) après plusieurs tests il s'avère que cette latence se présente uniquement lorsque j'utilise ma manette PS3 en bluetooth, aucun problème constaté lorsque celle-ci est connectée en filaire via le câble USB.

      Après quelques recherches, je suis tombé sur un topic qui traite du sujet sur le site de retropie, il expose la marche à suivre pour résoudre le problème: https://retropie.org.uk/forum/topic/7712/fixing-dualshock-3-bluetooth-lag/2

      Sans entrer dans les détails, voila ce que j'ai compris: Le problème de latence est en partie lié aux interférences entre le bluetooth et le wifi. En effectuant un ping du Raspberry Pi3 vers la manette bluetooth. j'ai pu constater que le temps de réponse était globalement plus court lorsque le Wifi était désactivé.

      • temps de réponse le plus long lorsque le wifi est activé = 114.79ms
      • temps de réponse le plus long lorsque le wifi est désactivé = 42.36ms

      Il est possible de diminuer encore plus le temps de réponse en paramétrant la connexion bluetooth de la manette en mode "esclave" ainsi le Raspberry aura le le statut de "Maitre" via la commande :

      • sudo hcitool sr AA:BB:CC:DD:EE:FF slave

      (AA:BB:CC:DD:EE:FF correspond à l'adresse MAC de votre manette Bluetooth. La commande "hcitool con" permet de connaitre l'adresse MAC de tous les périphériques Bluetooth connectés )

      Une fois le mode slave activé:

      • temps de réponse moyen: 12.00ms
      • plus long temps de réponse: 28.67ms
      • plus court temps de réponse: 9.38ms

      Après avoir fait cela, je ne constate plus aucun problème de latence, il y en a peut-être, mais je ne les perçoit pas. j'ai fait un test sur street fighter II turbo (SuperNintendo) et street fighter EX + A sur (Playstation), 2 jeux auxquels j'ai énormément joué sur console et que je connais assez bien pour confirmer que la diminution de la latence sur Recalbox est bien réelle.

      cette solution à néanmoins quelques défauts:

      • Il faut appliquer la commande "hcitool sr AA:BB:CC:DD:EE:FF slave" pour chaque manettes
      • il faut lancer la commande "hcitool sr AA:BB:CC:DD:EE:FF slave" à chaque reconnexion de la manette

      Je ne sais pas s'il est possible que cette "correction" soit implémentée dans une future mise à jour, toutefois j'espère que cela pourra aider ceux qui rencontrent le problème!

      Substring 1 Reply Last reply Reply Quote 4
      • Substring
        Substring @cycloid last edited by

        @cycloid intéressant ... les interférences avec le WiFi sont connues. Mais le coup du mode ... Là effectivement ca vaut le coup. Donc faudra que je regarde çà. Après s'il faut juste ajouter ces commandes ... Faisable, c'est juste vraiment balo de devoir procéder de la sorte, parce que niveau code, ca oblige à faire de la merde ...

        Les valeurs que tu donnes sont les tiennes ? avec l2ping ?

        Former dev - Please reply with @substring so that i am notified when you answer me
        Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

        1 Reply Last reply Reply Quote 0
        • cycloid
          cycloid last edited by cycloid

          @Substring J'imagine bien ^_^'
          Les valeurs sont bien les miennes, je viens de refaire le test dans les 4 cas de figures suivants afin de fournir des données plus précises :

          • l2ping avec WIFI Actif:

          0 time 97.95ms
          1 time 13.57ms
          2 time 49.89ms
          3 time 13.64ms
          4 time 62.39ms
          5 time 24.85ms
          6 time 16.15ms
          7 time 103.61ms
          8 time 36.13ms
          9 time 97.34ms
          10 time 57.36ms
          11 time 59.89ms
          12 time 86.10ms
          13 time 52.33ms
          14 time 41.10ms
          15 time 82.39ms
          16 time 72.40ms
          17 time 43.60ms
          18 time 69.90ms
          19 time 52.35ms

          • l2ping avec WIFI Actif + Slave mode Actif:

          0 time 60.81ms
          1 time 37.36ms
          2 time 42.40ms
          3 time 57.40ms
          4 time 49.90ms
          5 time 53.65ms
          6 time 11.14ms
          7 time 34.90ms
          8 time 43.65ms
          9 time 57.40ms
          10 time 41.15ms
          11 time 18.64ms
          12 time 26.15ms
          13 time 57.40ms
          14 time 47.40ms
          15 time 49.90ms
          16 time 51.15ms
          17 time 11.15ms
          18 time 31.17ms
          19 time 52.38ms

          • l2ping WIFI Désactivé:

          0 time 35.92ms
          1 time 11.01ms
          2 time 12.37ms
          3 time 36.15ms
          4 time 11.14ms
          5 time 36.12ms
          6 time 14.86ms
          7 time 13.66ms
          8 time 13.58ms
          9 time 36.17ms
          10 time 34.86ms
          11 time 36.12ms
          12 time 34.88ms
          13 time 36.14ms
          14 time 12.32ms
          15 time 36.21ms
          16 time 12.37ms
          17 time 36.14ms
          18 time 16.13ms
          19 time 37.36ms

          • l2ping Wifi Désactivé + Slave Mode Actif:

          0 time 12.92ms
          1 time 12.36ms
          2 time 12.39ms
          3 time 12.40ms
          4 time 13.65ms
          5 time 11.15ms
          6 time 12.40ms
          7 time 12.40ms
          8 time 12.42ms
          9 time 12.39ms
          10 time 12.40ms
          11 time 12.40ms
          12 time 12.40ms
          13 time 12.40ms
          14 time 12.41ms
          15 time 12.40ms
          16 time 12.40ms
          17 time 12.40ms
          18 time 12.40ms
          19 time 12.40ms

          Et pas de latence, ça fonctionne toujours aussi bien pendant les jeux!

          korangar 1 Reply Last reply Reply Quote 0
          • korangar
            korangar @cycloid last edited by

            @cycloid as tu pu faire des calculs de latence avec un dongle externe de bluetooth ?

            RPI4/Recalbox7.0.1/ArgonOne Case
            RPI3 Model B/Recalbox V6.1.1/NESPI CASE/Official PS3 controller /8BITDO SF30
            GPI CASE/RPI0W

            cycloid 1 Reply Last reply Reply Quote 0
            • stef
              stef last edited by stef

              Bonjour,

              Super, enfin quelqu’un qui répond à une question que je pose depuis plusieurs années.
              Beaucoup d’adeptes de Street Fighter 2 (ou de jeux de combat en général) que je connais sont passés en manette filaire tellement il est difficile d’enchainer Les coups spéciaux. C’est vraiment merdique.
              J’ai testé sans wifi et effectivement, gros changement. Malgré ça c’est encore loin d’être parfait. Avec le dongle c’etait Bien pire. Bizarrement sur Pi1 on n’avait pas ce problème (ou on ne le ressentait pas).
              L’integration dans Recalbox d’une solution serait le top.
              Perso, Pi3 avec Bluetooth interne et manette 8bitdo SFC30 pro.

              Merci pour ce début de solutionnement.

              korangar 1 Reply Last reply Reply Quote 0
              • Substring
                Substring last edited by

                Je n'ai pas de bol, l2ping ne répond sur aucun de mes pads bt ...

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                1 Reply Last reply Reply Quote 0
                • chacs
                  chacs last edited by

                  Je vais poser une question bête mais, quand on branche en usb une manette déjà associée en bluetooth, est-ce que le système continue à la considérer comme manette bluetooth ou la considère comme manette filaire :
                  en résumé, quand on joue, est-ce que les informations échangées entre la manette et l'emul passent par le cordon ou toujours par les ondes bluetooth ?

                  Substring 1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring @chacs last edited by

                    @chacs j'ose espérer que ton pad coupe le BT dans ce cas, ce n'est pas Recalbox qui décide. Mais tu serais bien mal avisé de faire çà en cours de jeu

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    1 Reply Last reply Reply Quote 0
                    • korangar
                      korangar @stef last edited by

                      @stef salut ! Tu dis que la latence est pire en utilisant un dongle bt externe ?

                      RPI4/Recalbox7.0.1/ArgonOne Case
                      RPI3 Model B/Recalbox V6.1.1/NESPI CASE/Official PS3 controller /8BITDO SF30
                      GPI CASE/RPI0W

                      stef 1 Reply Last reply Reply Quote 0
                      • stef
                        stef @korangar last edited by

                        @korangar avec des manettes PS3 Shanwan oui. Avec 8bitdo SFC 30 pro il n’y a pas de différence. Pourquoi? je ne sais pas.C’est incroyable la différence avec wifi activé ou non. Chez moi il demeure tout de même une latence malgré la coupure du wifi. Celle-ci reste gênante. En moyenne 40ms, bien trop pour enchaîner les coups spéciaux des jeux de combat.

                        1 Reply Last reply Reply Quote 0
                        • cycloid
                          cycloid @korangar last edited by

                          @korangar Non, je n'ai pas pu faire le test avec un dongle externe.

                          1 Reply Last reply Reply Quote 0
                          • Kivlov
                            Kivlov last edited by

                            merci beaucoup cycloid pour ce petit tuto qui m'a bien aidé.

                            j'ai fait l'acquisition d'une manette "P3" BT que j'ai pu associer sans trop de problème à mon RPi3. cependant, même Mario sur NES était injouable tellement le lag était présent...

                            de mon côté, la commande l2ping ne passe pas sur la manette reconnue comme ShanWan. par contre le passage en slave de celle-ci a nettement amélioré la latence !

                            est-il possible d'automatiser au démarrage le lancement de cette commande (script, fichier de config...) ou il faut attendre une maj Recalbox obligatoirement ? merci d'avance !

                            1 Reply Last reply Reply Quote 0
                            • Choum
                              Choum last edited by

                              J'ai testé la commande l2ping sur une manette 8bit do N30 pro (v4.01) avec un pi3 et le Bluetooth intégré, celle-ci répond en 4 à 7ms sans rien modifier (wifi inactif) sur la version recalbox 17.12.02.

                              Pensez à mettre à jour le firmware de vos manettes en 4.01 "Fixed input lag problem when used with other controllers.".

                              Cela ressemble plus à un problème uniquement sur certaines manettes.

                              1 Reply Last reply Reply Quote 0
                              • Fab2Ris
                                Fab2Ris Staff last edited by

                                Vraiment intéressant !
                                Même remarque, test effectués avec la dernière version du FW des manettes ?

                                Tuto Maker et Community Manager de Recalbox (Facebook/Twitter/Instagram/YouTube...)

                                1 Reply Last reply Reply Quote 0
                                • Choum
                                  Choum last edited by

                                  Avec le wifi par contre cela monte effectivement à 40ms - 50ms chez moi contre 4-7 sans wifi.

                                  1 Reply Last reply Reply Quote 0
                                  • stef
                                    stef last edited by

                                    Bonjour. Au delà du temps de réponse du Ping il existe une forte variation de ce même Ping quand on est en jeu et que l’on enchaîne les pressions sur boutons manette. Sur SNES 30 Pro avec firmware à jour toujours le même constat.

                                    1 Reply Last reply Reply Quote 0
                                    • Substring
                                      Substring last edited by

                                      D**n juste sans le wifi c'est presque le jour et la nuit !

                                      Former dev - Please reply with @substring so that i am notified when you answer me
                                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                      1 Reply Last reply Reply Quote 0
                                      • nounourspsx
                                        nounourspsx last edited by

                                        perso, pas de wifi (connection en RJ45), pas de problème ...

                                        Rapsberry Pi3; boitier 9 SAMRZA, alim SMARZA 2.5 A avec switch, 3 dissipateurs et ventilo SAMRZA; carte µSD SANDISK Ultra cl 10 16Go; HDD WDC 250Go boit. Techyo alimenté; manette Saitek Cyborg Rumble V2 & 8bitDo NES30 & 8bitDo ZERO

                                        Substring 1 Reply Last reply Reply Quote 0
                                        • Substring
                                          Substring @nounourspsx last edited by

                                          @nounourspsx je suis en rj45, et j'ai senti une diff 😉

                                          Former dev - Please reply with @substring so that i am notified when you answer me
                                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                          1 Reply Last reply Reply Quote 0
                                          • jvetbiz
                                            jvetbiz last edited by

                                            Bonjour,
                                            Tout d'abord merci car la commande hcitool sr marche très bien, le passage en slave rends jouable les manettes DS3 en bluetooth.
                                            J'aimerais automatiser le processus, car se connecter a chaque fois en ssh pour lancer la commande et passer la manette en slave, c'est lourd.
                                            Du coup si vous savez comment faire, la j'ai créer un script que j'éxecute depuis ssh (qui ne contient que hcitool sr MAMAC slave) mais j'aimerais un script qui me lance cette commande dès qu'on connecte la manette en bluetooth.
                                            Je n'ai qu'une manette, donc integrer seulement la commande au bon endroit. Le script parfait detecterai la MAC automatiquement, mais j'en ai pas vraiment besoin vu que j'ai qu'une manette

                                            J'ai fouiller un peu les regles udev, je pense que c'est par la qu'il faut travailler. Des spécialistes du script pour nous en pondre un qui lance la commande dès la connexion d'une manette avec la bonne MAC (et qui fait le café 🙂 ) ??
                                            Merci d'avance

                                            Substring 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Want to support us ?

                                            68
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com