Fiabilidad

Estable como un cable, incluso sobre Wi-Fi inestable.

Wi-Fi es un sitio hostil. Microondas, vecinos, beacons perdidos, eventos de roaming. Dish está hecho para sobrevivir a cada uno sin sacarte del juego.

Latidos

Tanto Dish como Satellite disparan un pequeño paquete de latido cada 2 segundos aunque no se esté pulsando ningún botón. Dos razones:

Reconexión automática

Satellite cierra una conexión después de cinco latidos perdidos seguidos, es decir, unos 10 segundos de silencio. Mucho antes, Dish arranca un bucle ligero de rejoin contra la clave de sesión en caché. Sin reintroducir el PIN: la clave de emparejamiento persiste entre reinicios y a través del rejoin.

Críticamente, el mando virtual Xbox 360 o DualShock 4 sigue enchufado en el PC gaming durante la desconexión. La mayoría de los juegos no expulsan al jugador. Desde la perspectiva del juego, el mando simplemente se quedó quieto un momento.

Roaming y redes multi-AP

En una red mesh, tu teléfono puede saltar de un AP a otro en plena partida. La IP de origen cambia, el viejo mapeo NAT se resetea en silencio. Dish detecta la nueva IP de origen en el siguiente paquete y Satellite re-valida la sesión contra el token cifrado. Normalmente sin glitch visible en el juego.

Paquetes fuera de orden y duplicados

Wi-Fi puede entregar paquetes desordenados en redes ocupadas. El receptor de Satellite rastrea el contador más alto que ha aceptado en cada conexión y descarta cualquier cosa rancia. Los paquetes más nuevos siempre ganan, los más viejos se descartan en silencio. Nunca sientes que un stick rebote.

Qué pasa durante un corte real

Si tu Wi-Fi desaparece de verdad durante más de diez segundos, digamos un reinicio del router, Satellite cierra la conexión y desenchufa el mando virtual limpiamente. En cuanto vuelve la conectividad, Dish vuelve a descubrir Satellite vía mDNS y se restablece contra la clave guardada. Los sticks se centran, el mando reaparece y el resto depende del juego.

Sin desemparejamientos en pánico. Sin diálogos de "vuelve a añadir tu mando". Sin reescribir un PIN.

El sueño de pantalla se queda apagado mientras juegas

Dish para Android mantiene un wake lock más el servicio en primer plano connectedDevice que Android requiere, así el SO ve una sesión de juego conectada y nunca decide atenuar tu pantalla en mitad de un combate. Otras plataformas Dish en desarrollo usan la API equivalente de aserción de energía (IOKit en macOS, el inhibidor ScreenSaver D-Bus de freedesktop en Linux, SetThreadExecutionState en Windows).

Varios mandos por sesión

¿Noche de coop de sofá? Hasta 16 mandos por sesión de Satellite, con mandos virtuales, estado de cifrado, streams de movimiento y rutas de vibración independientes. Si un jugador se desconecta no arrastra a los demás. Un solo teléfono puede manejar varios mandos contra el mismo Satellite si realmente quieres.

Vida de batería

El hot path son unas pocas líneas de código. Dish para Android idlea cerca de cero CPU entre eventos de entrada. Los latidos son el único trabajo continuo, y un paquete UDP diminuto cada 2 segundos es básicamente gratis en una radio moderna.

En nuestras propias pruebas, Dish para Android consume notablemente menos batería que una llamada de audio Bluetooth.