Fiabilité

Stable comme un fil, même sur un Wi-Fi capricieux.

Le Wi-Fi est un environnement hostile. Micro-ondes, voisins, balises perdues, événements d'itinérance. Dish est conçu pour traverser chacun d'eux sans vous arracher à votre partie.

Battements de cœur

Dish et Satellite émettent tous deux un petit paquet de battement de cœur toutes les 2 secondes, même quand aucun bouton n'est pressé. Deux raisons :

Reconnexion automatique

Satellite coupe une connexion après cinq battements manqués d'affilée, soit environ 10 secondes de silence. Bien avant cela, Dish démarre une boucle de réinscription légère sur la clé de session mise en cache. Aucune ressaisie de PIN : la clé d'appairage persiste à travers les redémarrages et la réinscription.

Crucialement, la manette virtuelle Xbox 360 ou DualShock 4 reste branchée sur le PC de jeu pendant la coupure. La plupart des jeux n'éjectent pas le joueur. Du point de vue du jeu, la manette est juste restée immobile un instant.

Itinérance et réseaux multi-AP

Sur un réseau maillé, votre téléphone peut basculer d'un AP à un autre en pleine partie. L'IP source change, l'ancien mapping NAT se réinitialise discrètement. Dish repère la nouvelle IP source au paquet suivant et Satellite revalide la session contre le jeton chiffré. Généralement sans aucune anicroche visible en jeu.

Paquets désordonnés et doublons

Le Wi-Fi peut livrer des paquets dans le désordre sur des réseaux occupés. Le récepteur de Satellite suit le plus haut compteur qu'il a accepté sur chaque connexion et jette tout ce qui est obsolète. Les paquets plus récents gagnent toujours, les plus anciens sont rejetés en silence. Vous ne sentez jamais un stick claquer en arrière.

Ce qui se passe pendant une vraie coupure

Si votre Wi-Fi disparaît vraiment plus de dix secondes, disons un redémarrage du routeur, Satellite coupe la connexion et débranche proprement la manette virtuelle. À l'instant où la connectivité revient, Dish redécouvre Satellite via mDNS et se rétablit sur la clé sauvegardée. Les sticks reviennent au centre, la manette réapparaît, et le reste dépend du jeu.

Pas de désappairage paniqué. Pas de boîte de dialogue « veuillez réajouter votre manette ». Pas de retape de PIN.

L'écran reste allumé pendant que vous jouez

Dish pour Android maintient un wake lock plus le service de premier plan connectedDevice requis par Android, pour que le système voie une session de jeu connectée et ne décide jamais de s'éteindre au milieu d'un combat. Les autres plateformes Dish en développement utilisent l'API d'affirmation d'alimentation équivalente (IOKit sur macOS, l'inhibiteur D-Bus ScreenSaver freedesktop sur Linux, SetThreadExecutionState sur Windows).

Multi-manettes par session

Soirée coop canapé ? Jusqu'à 16 manettes par session Satellite, avec manettes virtuelles, état de chiffrement, flux de mouvement et routes de vibration indépendants. Un joueur qui décroche n'entraîne pas les autres. Un seul téléphone peut piloter plusieurs manettes contre le même Satellite si vous le voulez vraiment.

Autonomie

Le chemin chaud, c'est quelques lignes de code. Dish pour Android idle proche de zéro CPU entre les événements d'entrée. Les battements de cœur sont le seul travail continu, et un petit paquet UDP toutes les 2 secondes est essentiellement gratuit sur une radio moderne.

Dans nos propres tests, Dish pour Android consomme nettement moins de batterie qu'un appel audio Bluetooth.