LIMPIEZA DEL CLIENTE: Resumen del 2020 y que está por venir.

ratedx

Resumen de 2020

Nuestro equipo se formó a finales de 2019 y, al principio, la mayor parte de nuestro trabajo giró en torno a entender en qué estado se encontraba el cliente de LoL. Como parte del proceso, decidimos centrarnos en las partes del cliente que los jugadores a nivel mundial (¡todos vosotros!) más nos mencionaron para determinar qué hacer con el objetivo de mejorar el cliente. Todavía nos queda mucho por hacer, pero, si echamos la vista atrás a 2020, fuimos capaces de implementar mejoras bastante significativas.

  • Lanzamos nuestra encuesta mundial sobre el cliente para los jugadores y la utilizamos para determinar en qué debíamos trabajar. La mayoría de los logros listados abajo son el resultado de lo que nos comentaron los jugadores.
  • Reducimos el tiempo de arranque (inicio) del cliente hasta los 16 segundos para el 90 % de los jugadores a nivel mundial (desde los 29,5 s al inicio de 2020).
    • Pudimos lograrlo gracias a nuestro trabajo en la arquitectura, lo que incluye una reducción del 63 % en el arranque de aplicaciones de Ember (las que se cargan cuando se inicia el cliente) y una reducción del 57 % de los plugins del cliente. En otras palabras, limpiamos muchísimo código.
  • Mejoramos la capacidad de respuesta y la fiabilidad de la selección de campeón al seleccionar y bloquear campeones.
    • Corregimos problemas de rendimiento al filtrar por campeones e implementamos mejoras a la pantalla de selección de campeón en sí misma.
    • Investigamos el uso de determinadas funciones en la selección de campeón. Hablaremos más sobre ello más adelante.
    • Mejoramos el tiempo de selección y bloqueo de campeones.
    • Corregimos pérdidas de memoria en la selección de campeón y relacionadas con dicha pantalla (más información abajo).
  • Evitamos que el cliente se cuelgue o muestre una pantalla en negro cuando los jugadores vuelven a él al final de la partida.
  • Evitamos que el cliente se quede colgado mostrando el botón de "Reconectar" al final de la partida, cuando ni siquiera debería haber aparecido.
  • En 2020, corregimos 175 errores, desde cosas pequeñas a problemas que llevan muchísimo tiempo con nosotros.
    • Los nombres de jugador que aparecían como "..." en el chat.
    • La barra de tareas que no se iluminaba al recibir un mensaje en el chat.
    • El panel social que no aparecía para los nuevos jugadores.
    • Los ajustes que se reiniciaban cuando un jugador iniciaba sesión desde otro ordenador.
    • Las notificaciones de regalos que se repetían al iniciar sesión.
    • Las ocasiones en las que los jugadores volvían a una pantalla negra después de realizar varias acciones en el cliente.
  • Mejoramos la capacidad de respuesta de la pestaña de colecciones y de sus subsecciones.
  • Redujimos el tiempo de carga de la pestaña de runas en un 40 %, hicimos que la interfaz de las runas funcione sin problemas y conseguimos que su uso sea más fiable.
  • Solucionamos 30 casos de pérdida de memoria por todo el cliente. Esta tarea resultó particularmente difícil y la descubrimos más adelante en el año, así que nos alegra haber podido implementar mejoras antes de las vacaciones.
    • Las pérdidas de memoria se producen cuando una parte del programa falla a la hora de liberar su memoria después de completar una tarea. Esto hace que haya disponible menos memoria para los demás programas del sistema. Los resultados de esto siempre son malos, pero las causas resultan particularmente difíciles de descubrir, especialmente cuando se trata de grandes aplicaciones.
    • Antes de solucionar las primeras pérdidas de memoria en la versión 10.23, los jugadores de las regiones de Riot experimentaron 193 000 cuelgues por falta de memoria en cada versión. En la última versión de 2020, la versión 10.25, ¡observamos un descenso del 55 % en este tipo de problemas!

Como mencionamos anteriormente, utilizamos vuestras respuestas a la encuesta mundial sobre el cliente para decidir en qué centrarnos. La mejoras enumeradas arriba representan el progreso en las áreas que más nos mencionasteis, pero esto solo importa si opináis que todo avanza en la dirección adecuada. Por eso, nos alegra informaros de que, además de las métricas basadas en el juego, las tendencias de las encuestas son positivas en general. ¡Esto significa que cada vez más jugadores tienen una experiencia menos frustrante en el cliente!

Menos frustrante, que no perfecta. Este año, todavía nos quedan muchas metas por alcanzar y seguiremos contándoos las novedades.


Funciones poco utilizadas de la selección de campeón

En nuestra anterior publicación, mencionamos que estábamos estudiando la eliminación de algunas funciones poco utilizadas de la selección de campeón para mejorar el rendimiento general. Después de estudiar los favoritos, las misiones y los emoticonos, decidimos no eliminar ninguna de ellas, por lo que nos centraremos en mejorarlas. Ya hemos corregido un error relacionado con los emoticonos y nos estamos dedicando a asegurarnos de que los favoritos y las misiones funcionen como es debido.


Qué tenemos pensado

Actualmente, estamos terminando de planear el primer trimestre del año, pero aquí tenéis lo que pretendemos abordar ahora en el cliente de LoL:

Panel social

Hemos observado un repunte de problemas relacionados con el panel social a lo largo del año pasado. En diciembre, corregimos un error que provocaba que los avisos a amigos en partida no mostrasen el tipo de partida ni el campeón. Estos son los siguientes problemas que abordaremos:

  1. El panel social no se conecta.
  2. La lista de amigos no carga, se muestran estados incorrectos y los amigos no aparecen.
  3. No se enviarán solicitudes de amistad a los jugadores que tengan la lista de amigos completa.
  4. La información clasificatoria no se muestra cuando un jugador se encuentra en una partida normal.
  5. El chat parpadea al enviar mensajes uno detrás de otro.
  6. Las carpetas se reordenan de una sesión a otra.
  7. Las carpetas de LoR y VALORANT desaparecen al ordenarlas con "Agrupar por juego y servidor".
  8. Al hacer clic sobre "Mostrar fechas" en el cuadro del chat se superponen cajas de texto.
  9. Las notificaciones de solicitud de amistad solo aparecen cuando la opción está desactivada, y viceversa.

También vamos a deshacernos del antiguo marco de referencia de Javascript (seguid leyendo para saber más) y pasaremos el panel social a Ember. Dicha transición será una buena oportunidad para revisarlo y limpiar el código, lo que traerá consigo una mayor fiabilidad y menos errores.

Estabilidad del cliente

Ahora vamos a introducir dos nuevas áreas en las que nos centraremos para mejorar la estabilidad del cliente de LoL: cuelgues del cliente y errores de Javascript, que pueden causar montones de efectos, como... cuelgues del cliente. Para ello, en lugar de dedicarnos a una parte específica del cliente (como la selección de campeón o el tiempo de arranque del cliente), vamos a estudiar el cliente en general. Además de centrarnos en la estabilidad, lo que ya estábamos haciendo, estos son los cuatro puntos principales:

  • Reducción de los cuelgues: en la versión 10.25, los jugadores de 16 regiones de Riot experimentaron 2,2 millones de cuelgues del cliente. Después de estudiar la situación, parece que nuestra mejor opción para solucionar la mayoría de los cuelgues consiste en actualizar nuestra versión de Chromium, que es el navegador web que se encuentra en el centro de la arquitectura del cliente de LoL.
  • Reducir los errores de Javascript: en la versión 10.25, los jugadores de 16 regiones de Riot experimentaron 36 millones de errores de Javascript (JS) en el cliente. Aunque no todos los fallos de JS acaban en una caída del juego o afectan al rendimiento, incluso los errores invisibles pueden acumularse, lo que sí puede acarrear ese tipo de problemas. Reducir esta cifra conllevará un gran número de mejoras en todo el cliente.
  • Seguir solucionando pérdidas de memoria: algunos de nuestros mayores éxitos del año pasado consistieron en solucionar varias pérdidas de memoria. Queremos seguir teniendo éxito este año.
  • Seguir trabajando en la arquitectura para limpiar nuestro código base: Para actualizar Chromium, como hemos mencionado más arriba, tenemos que completar un montón de prerrequisitos, lo que mejorará el rendimiento del cliente de por sí. Planeamos completar este trabajo y lanzar la actualización de Chromium hacia mediados de año.
    • La última vez que actualizamos Chromium fue en diciembre de 2019, algo antes de que empezase la campaña de limpieza del cliente. Observamos grandes resultados después de dicha actualización (usad CTRL+F para buscar "Chromium") y anunciaremos las mejoras que traerá consigo esta siguiente actualización cuando se acerque la fecha de lanzamiento.
Retourned

Es el peor cliente que he visto en mi vida.

3
eXtreM3

Con la de pasta y recursos que tienen podrían reescribirlo desde 0 en tres meses.

7 1 respuesta
HumiDLeeT

Haciendo un puto cliente Chromium con JS...

1
JCab

Los que os quejáis de los problemas de ahora entiendo que no jugábais hace casi 9 años, donde había cola de horas para entrar al cliente.

A mi parecer ahora mismo va genial xD

4 3 respuestas
Rito_Tryhard
#5JCab:

Los que os quejáis de los problemas de ahora entiendo que no jugábais hace casi 9 años, donde había cola de horas para entrar al cliente.

god old times.
Aun así el cliente es una mierda, para un juego tan popular como el lol xD.

C

que separen de una vez las misiones del lol con el tft

jesusml

thereisnourflevel

3
darksturm

#5 Menuda mierda era aquello, no habia huevos a cerrarlo solo para evitar comerse la cola de nuevo

1 1 respuesta
Kyoski

#9 Si ponías el código konami entrabas antes

1 2 respuestas
darksturm

#10 lo del mitico codigo konami en internet en la red me hace mucha gracia, estaba en un huevo de sitios asi a lo tonto, ya no he vuelto a ver un huevo de pascua del estilo a eso

personaje

#3 y punto.

#10 No, entraba si ponías thereisnourflevel.

Retourned

#5 Yo llevo jugando desde inicios de la S2 y efectivamente era una mierda en aquel entonces, pero eso no quita que el de ahora esté lleno de bugs. Pero lleno. Por decir algunos muy frecuentes que veo prácticamente todos los días:

  • Hacer duo con alguien y que en la pantalla de selección de roles, cuando vas a meter cola, a uno le salga la cola y al otro no. Y tener que reiniciar.
  • Al acabar la pantalla del honor cuando terminas una partida, que se ponga a pensar veinte segundos y no puedas pinchar en ningún jugador para darle honor, y o esperas a que se arregle o cierras el cliente.
  • A veces se desconecta porque sí la sección de amigos, y ves al puto poro ese con la llave inglesa, en plan "no tienes conexión sorry", cuando realmente sí tienes.
  • A veces se desconecta en la champ select y te sale un mensaje en plan "intentando reconectar, salir (3, 2, 1)" y cuando te esperas unos segundos vuelve a la vida y te deja pickear.
  • Hay veces que si te mueves relativamente rápido por las secciones de arriba ( tienda, perfil, colección, botín...) ocurre que estás por ejemplo en tienda pero viendo el contenido de botín, o estás en colección viendo la tienda, o tu perfil, es un cachondeo. Y tienes que salir al menu principal, esperarte un momento y volver a darle a la sección.

En conclusión, es de locos, si fuera un juego normal vale, pero teniendo los millones de jugadores activos que tiene este... y bueno, que el cliente me acabo de enterar que está hecho en Javascript y Chromium, que es ya de traca. Mira que me gusta el lol, pero de verdad que Riot a veces es denunciable. Piensa otra que empresa con los millones que tiene Riot, tanto en dinero como en jugadores, meta un modo de juego por equipos como el Clash y durante meses se le jode una región todos los fines de semana.

1
Perkele

a mi lo único que me pasa mucho es que al terminar partida se queda cargando infinito las stats y tengo que darle a skip o cerrar el cliente y me jode mucho por si tengo que reportar a alguien o para ver las graficas de daño.

El resto bugs tipicos con el social y desconexiones random que me pasan muy de vez en cuando (tampoco estoy 24/7 jugando y las veces que entro me va bien)

1 1 respuesta
dynamic

#14 yo desde que instale el lol en un ssd m2 ya no he tenido problemas con el cliente al acabar partidas

1 2 respuestas
darksturm

#15 A mi curiosamente si, pero me salto un fallo de esos raros, aunque va muchisimo mejor en un ssd claro, pero por razones obvias, ni de coña vuelvo a instalar el lol en un hdd mecanico, es mas facil que te pete un juego asi tirando de aguja

Taiden

#15 pues yo lo tengo en un ssd m2 y algunas veces si que pasa.

Lo que más me ha flipado del cliente es que teníendolo abierto me ha ralentizado el "GRID Autosport". Y mi portátil tiene una 1050 y 8 GB de ram, que no es nada del otro mundo, pero que el juego es del 2014 y lo único que tenía abierto era el puto cliente del LoL xDD

Synphere

Yo tengo desde hace un montón de tiempo el bug de que te sale, por ejemplo, 5 amigos conectados pero en realidad hay 1 o 2

1
Felo

Cada vez que abro el lobby me aparece una notificación de que he obtenido un fragmento de llave. Luego es mentira, no me aparece nada en el inventario. Ahora, lo peor fue hace unos cuatro meses. Siempre que cerraba el juego y lo volvía a abrir me aparecían los consejos de principiante y los pop-up de nuevo jugador. Se cambiaban los hechizos a Curar + Fantasmal y se desajustaban todos los aspectos seleccionados. Estaba tan harto que, aunque llevaba tiempo queriendo el aspecto de Sejuani Artificiera, cuando me apareció en Mi tienda decidí no comprarla en señal de protesta de la frustración que me generaba el cliente por aquellos días.

Majravilla

Y una polla

Usuarios habituales