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.
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.
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:
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.
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:
¡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.
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.