Sigue la limpieza del cliente

Nuestra publicación más reciente detalla el progreso de nuestra labor para mejorar el cliente.

A principios del año nos comprometimos a compartir actualizaciones cada dos meses del trabajo que hacemos tras bambalinas para mejorar el rendimiento del cliente de League of Legends.

La actualización de hoy es la tercera de la serie. (Visita la primera entrada aquí y la segunda aquí).

En resumen: estamos progresando constantemente en nuestro objetivo de limpiar el código que alimenta al cliente. También estamos eliminando errores problemáticos en el proceso, los cuales mencionaremos aquí abajo. A pesar del progreso, queda mucho por hacer. Continúa la campaña de limpieza.


PROGRESO RECIENTE

Como mencionamos en nuestra primera entrada sobre el cliente, creemos que la mejor manera de resolver algunos de los problemas de rendimiento del cliente es consolidando y reduciendo el número de complementos y aplicaciones de Ember del cliente.

Para los que no estén familiarizados con esto, los complementos son herramientas que nos permiten dividir el código del cliente en segmentos útiles. Las aplicaciones de Ember ayudan a dirigir la interfaz de usuario del cliente.

Continuamos progresando hacia esa meta. La tabla de abajo muestra el conteo total de complementos y aplicaciones de Ember a lo largo del tiempo.

Architecture-Stats_LATAM.jpg


Si estás viendo esta tabla, seguramente te estarás preguntando: "muy bien, pero ¿cómo impacta esto en el rendimiento del cliente?" La respuesta es complicada, pero a grandes rasgos: al haber menos complementos y aplicaciones de Ember, el código del cliente es más eficiente. Un código más sencillo equivale a un mejor rendimiento y también da como resultado un cliente que los desarrolladores pueden mejorar con mayor facilidad.

Una de las formas con las que hemos estado midiendo el impacto de nuestro trabajo es registrando la cantidad de tiempo que tarda el cliente en iniciar. A continuación, podrás ver una tabla que muestra cómo hemos estado registrando esa métrica con el paso del tiempo:

Loading-Screen-Render_LATAM.jpg

Como puedes ver, en su mayoría, los tiempos de arranque se han mantenido estables en los últimos meses. En realidad, consideramos que esto es un éxito moderado dados los riesgos inherentes del trabajo que estamos realizando. Revolver grandes fragmentos de código y reconectar complementos podría causar algunos problemas imprevistos si no tenemos cuidado, pero hasta ahora parece que no ha sucedido.

Esperamos ver más mejoras en los tiempos de arranque en las próximas versiones, en especial ahora que desarrollamos una nueva solución que nos permite especificar de manera más inteligente qué complementos cargar cuando arranca el cliente. (Visita la entrada más reciente sobre el cliente para ver una discusión más a detalle sobre este tema en la sección titulada "El problema con Affinity").

Nuestro plan actual es continuar con el trabajo de consolidación al menos durante los próximos dos meses, ya que creemos que hay considerables beneficios a largo plazo al reducir el número de complementos y aplicaciones de Ember. Al limpiar el entorno del código en general, facilitamos la resolución de errores, las pérdidas de memoria y los cierres forzosos.

Hablando de errores y cierres forzosos, veamos algunos errores que resolvimos recientemente.

CORRECCIONES DE ERRORES RECIENTES

El equipo del cliente se ha encargado de manera oportuna de cientos de errores en estos meses. A partir de la versión 10.13, verás las correcciones de errores del cliente en su propia sección en las notas de la versión de LoL.

Mientras tanto, aquí tienes una lista de algunos de los errores del cliente por versión en los que ha trabajado el equipo desde principios de año:

  • 10.1 - La posición del cliente ya no se reinicia al terminar una partida.
  • 10.1 - Corregimos un error que a veces hacía que desapareciera el logotipo de LoL que se encuentra junto al botón de "Jugar".
  • 10.1 - [MAC] Corregimos un problema que en ocasiones hacía que el cliente se cerrara al recuperar la conexión a Internet después de desconectarse durante más de un minuto.
  • 10.1 - Los cambios del fondo de perfil ya se muestran correctamente a los demás jugadores.
  • 10.3 - Los enlaces que abres al hacer clic con el botón central del ratón ya no hacen que falle el cliente.
  • 10.3 - El ícono de la Tienda ya se resalta adecuadamente al seleccionarlo tras usar un Cofre Hextech en botín.
  • 10.3 - Al reordenar los elementos de la Colección, ya no vuelve al orden alfabético inverso de forma predeterminada.
  • 10.3 - La opción de ordenar por "Metas alcanzadas" en la Colección ya funciona de forma adecuada.
  • 10.4 - Corregimos un error que causaba que el panel de redes sociales y la ventana de chat fallaran en la selección de campeones si se producían ciertas acciones (eliminar a un amigo, que te eliminaran o te bloquearan).
  • 10.4 - Ya se puede volver a buscar campeones con métodos alternativos de escritura en la Colección.
  • 10.4 - La búsqueda de campeones en la Colección ya no distingue entre mayúsculas y minúsculas.
  • 10.4 - La opción de acomodar los campeones por orden alfabético en la Colección ya funciona de forma adecuada.
  • 10.4 - El cliente ya no muestra una pantalla negra después de hacer clic en "Jugar de nuevo" cuando el jugador entra a la partida mientras ve ofertas personalizadas.
  • 10.5 - Eliminamos una barra de desplazamiento innecesaria en la parte inferior de la página de campeones en la Colección.
  • 10.7 - Corregimos un error que causaba que el botón de "Enviar solicitud de amistad" no funcionara en las salas personalizadas.
  • 10.7 - La pantalla de información de "Ver el calendario" ya no se ve borrosa al mostrar los próximos torneos en el portal de Clash.
  • 10.8 - El mensaje de guardar ya aparece de forma correcta al momento de abandonar la pestaña de gestos sin guardar cambios.
  • 10.8 - Ya no se redirige al jugador a la página de su perfil al momento de salir de la pantalla al final de la partida.
  • 10.8 - Los íconos de invocador ya se muestran de manera adecuada al iniciar sesión en el cliente.
  • 10.9 - Corregimos un error que hacía que no se pudiera seleccionar el ícono de invocador Súbdito Luchador Azul.
  • 10.9 - Los jugadores ya no recibirán el mensaje de error incorrecto al intentar iniciar sesión mientras LoL se encuentra en mantenimiento.
  • 10.9 - Corregimos un error que evitaba que se mostraran los nombres de los jugadores bloqueados en tu lista de bloqueados.
  • 10.9 - Hicimos varias correcciones para encargarnos de las pérdidas de memoria causadas por una versión antigua de Ember.
  • 10.10 - Corregimos un error que causaba que se perdieran o se eliminaran las páginas de runas al iniciar sesión.
  • 10.10 - Las páginas de runas ya se cierran de manera automática al hacer clic en el botón "Jugar".
  • 10.10 - Al volver a organizar las páginas de runas, ya no se duplican ni se cierran.
  • 10.10 - Corregimos un error que evitaba que algunos jugadores pudieran editar las páginas de runas.
  • 10.11 - Los ajustes de "Activar el modo de bajo rendimiento" y "Cerrar el cliente durante el juego" ya se guardan de manera adecuada al cerrar la ventana de Configuración.
  • 10.11 - Corregimos un error que causaba que el botón de "rareza del aspecto" en la Colección se volviera parcialmente blanco.
  • 10.11 - Corregimos un error que en ocasiones evitaba que los jugadores pudieran entrar al modo espectador.
  • 10.12 - Corregimos unos errores que afectaban la funcionalidad de las páginas de runas en la selección de campeones.

    ¡Eso es todo por ahora! Si encontraste algún error que quieres reportar, puedes enviarnos comentarios al hacer clic en el botón "Reportar un error" en la esquina inferior derecha del cliente.

    SIGUIENTES PASOS

    Mientras trabajamos en el cliente, nos seguimos haciendo una pregunta fundamental: ¿el cliente de LoL es suficientemente bueno para nuestros jugadores?

    Por supuesto que la respuesta es "no". Al menos, no todavía.

    Hay muchos más errores por resolver, cierres que prevenir y problemas profundos en la arquitectura que erradicar. El trabajo que iniciamos a principios de año continuará hasta que podamos contestar con un "sí" a la pregunta ¿el cliente de LoL es suficientemente bueno para nuestros jugadores?.

    Nos tomará un tiempo llegar a ese punto, así que seguiremos manteniéndote al tanto en el proceso. Para las próximas versiones, buscaremos continuar consolidando los complementos y las aplicaciones de Ember mientras acabamos con los errores conforme aparezcan. Para cuando compartamos nuestra próxima actualización, esperamos estar listos para entrar a una nueva fase en nuestra campaña en la que nos centraremos específicamente en mejorar la respuesta de la selección de campeones.

    Como siempre, gracias por jugar. Volveremos con otra publicación del cliente en un par de meses.