El cliente de League of Legends y su rendimiento lleva años siendo objetivo de quejas por parte de toda la comunidad hacia Riot Games. Tras mucho tiempo de espera, la desarrolladora ha iniciado una campaña intensiva que tiene como objetivo solucionar y mejorar el cliente. Desde hoy hasta dentro de 6 meses aproximadamente Riot implementará una serie de cambios y mejoras a la infraestructura del soporte del cliente de League of Legends.
«vamos a compartir objetivos específicos para dos de las principales métricas de rendimiento del cliente: el tiempo de arranque (lo que tarda el cliente en iniciarse) y el tiempo de bloqueo de la selección de campeones. Durante el proceso de mejora de dichas métricas también nos encargaremos de errores, bloqueos, etc. En pocas palabras, nuestro objetivo es arreglar el cliente.»
¿Cuando vais a arreglar el cliente, Riot?
Riot reconoce que el cliente tiene multitud de problemas, lag y cosas como pérdidas de memoria, fallos de funcionamiento, bloqueos y demás cosas. Es por esto que quieren probar algo distinto.
La nueva estrategia que tomará la desarrolladora es ponerse objetivos y detalles claros sobre los cambios que harán, e ir compartiéndolos con el público. Estas son algunas de las mejoras que están encima de la mesa.
Los datos del cliente
Hace un par de meses Riot añadió algunas herramientas al cliente para monitorizar indicadores de rendimiento básicos como el tiempo que necesita el cliente para iniciarse y estar a pleno rendimiento. Con esto han descubierto que hay jugadores que este arranque puede tardar hasta tres o cuatro veces más en el caso de algunos jugadores.
Otro de los elementos principales en el que se han fijado es el tiempo de «bloqueo de la selección de campeones». En la gráfica de abajo se pueden ver los tiempos medios de respuesta del bloqueo de la selección de campeones durante la versión 9.22 (línea naranja) y la 10.2 (línea azul). El tiempo de respuesta se calcula en milisegundos.
En la gráfica se proyecta que ha habido un salto cualitativo desde la 9.22 hasta la 10.2. Pero aún queda mucho por hacer.
En esta otra gráfica observamos la velocidad de respuesta de la selección a lo largo del tiempo en el caso de grupos específicos.
La línea azul representa al percentil 50.º, es decir, al jugador «medio» El gran descenso en los tiempos de respuesta del jugador medio es positivo. No obstante, se puede observar que, incluso a principios del año 2020, los tiempos de respuesta del jugador medio rondan los 300 ms, lo cual Rito califica de «retraso perceptible».
Los objetivos mas próximos
- Reducir el tiempo de arranque a alrededor de 15 segundos, es decir, tres o cuatro veces mas rápido que ahora mismo.
- Reducir los tiempos de respuesta de la selección de campeones del percentil 90º a alrededor de 10 ms. Esto es 8 veces mas rápido que ahora.
¿Porque priorizáis estas dos cosas primero?
«El motivo es que, durante el proceso de mejora del arranque y los tiempos de la selección de campeones, vamos a revisar y mejorar ciertos aspectos fundamentales de la arquitectura del cliente. Creemos que podremos encargarnos de errores, pérdidas de memoria y bloqueos mientras intentamos cumplir nuestros objetivos.»
¿Como lo vais a hacer?
«Hasta ahora, hemos detectado dos grandes problemas de arquitectura que contribuyen a los tiempos lentos de arranque. El primero es nuestra arquitectura de plugins, que nos permite separar el código para el cliente en fragmentos útiles. Dicha arquitectura se ha inflado a medida que hemos añadido nuevas funciones al cliente. En segundo lugar, hemos utilizado de la forma incorrecta el marco de Javascript (llamado Ember) que controla nuestra interfaz de usuario.
En estos momentos, el cliente utiliza demasiados plugins y aplicaciones de Ember. De hecho, durante el proceso de arranque, cargamos 41 plugins diferentes y 16 aplicaciones. Cada uno tarda entre 100 ms y 800 ms en iniciarse. Como podéis ver, no es lo ideal.
Nuestro plan es combinar todos estos plugins y aplicaciones para tener muchos menos (y, en teoría, más eficientes). Primero vamos a centrarnos en los que se inician durante el arranque, porque creemos que será lo que más nos haga mejorar.»
Fuente: Riot Games