CLIENTE: Seleção de Campeões e fim de partida
No início deste ano, nos comprometemos a falar mais sobre o trabalho que temos feitos nos bastidores para melhorar o desempenho e a confiabilidade do cliente de League of Legends.
A atualização de hoje é a quinta parte de uma série. (Confira também o primeiro, o segundo, o terceiro e o quarto artigos.)
RESUMÃO: agora que as melhorias no tempo de iniciação do cliente e em nossa arquitetura estão prontas, finalmente podemos nos dedicar à Seleção de Campeões. Também colocamos o fim de partida como uma nova prioridade.
O início da Seleção de Campeões
Quando começamos essa série de artigos em março, falamos de dois grandes objetivos: melhorar o tempo de iniciação do cliente e a responsividade na Seleção de Campeões, nessa ordem. Em setembro, finalmente diminuímos o tempo de iniciação do cliente (o tempo que ele demora para iniciar) para 15,5 segundos para 90% da comunidade e anunciamos que o trabalho com a Seleção de Campeões finalmente começaria.
Eis o que fizemos até o momento.
Consumo de memória na Seleção de Campeões
Esperávamos que a Seleção de Campeões tivesse uma necessidade de reparo semelhante à do resto do cliente: aplicativos do Ember para consolidar, códigos para otimizar, bugs para corrigir etc. Enquanto a analisávamos, descobrimos um tipo de problema inesperado: o consumo de memória da Seleção de Campeões (e do cliente) aumenta a cada vez que você passa por ela na mesma sessão.
Para as pessoas dentro dos 90%, significa o seguinte:
- A primeira vez que você entra na Seleção de Campeões, o consumo de memória do cliente salta para 481 MB.
- Na segunda vez, há um salto de 56 MB.
- Da terceira vez em diante, ocorrem pequenos saltos que variam de 15 a 25 MB.
Por fim, quanto mais partidas você joga na mesma sessão, mais lento o cliente fica, até ser necessário reiniciá-lo.
A existência de falhas de memória no cliente não é novidade e descobrimos que parte delas vinha da Seleção de Campeões. Porém, o tamanho e a extensão das falhas que encontramos exigem uma mudança em nossa abordagem. Paralelamente ao que já planejávamos fazer, estamos trabalhando em ferramentas de desenvolvimento mais especializadas que nos permitam identificar e abordar essas falhas de memória em todo o cliente de forma mais eficiente, diminuindo assim o tempo que levamos para implementar melhorias.
É importante lembrar que dissemos paralelamente e que, embora o progresso tenha sido rápido, planejamos lançar as primeiras melhorias no desempenho da Seleção de Campeões na Atualização 10.23. Aperfeiçoamos a seleção de Feitiços de Invocador e skins de Sentinela para que não criem aplicativos do Ember adicionais quando abertos. Essa redução do uso da memória é pequena mas relevante (cerca de 1,6 MB) na escolha de feitiços e skins de Sentinela durante a Seleção de Campeões. Essas foram duas das primeiras falhas de memória que descobrimos e consertá-las foi uma ótima forma de pôr em prática as soluções que aplicaremos às grandes porções de falhas de memória em breve! Esperamos lançar melhorias mais perceptíveis antes do fim do ano.
Análise da UX/UI na Seleção de Campeões
Além de consertar o que não está funcionando, outra função de explorarmos a Seleção de Campeões é identificar o que é de interesse da comunidade e o que podemos diminuir, ou até mesmo remover, por não ser tão importante para as pessoas. Isso porque a experiência da Seleção de Campeões é uma parte essencial do ciclo da partida; quanto menos complexo esse caminho for, menos oportunidades para as coisas darem errado nós teremos. Os resultados das pesquisas realizadas com a comunidade mostram o que é importante em relação à Experiência do Usuário na Seleção de Campeões (UX) e na Interface do Usuário (UI), e estamos acrescentando medições dentro do cliente para reforçar essas pesquisas com dados de atividade dos jogadores.
Aqui estão alguns dos resultados iniciais e o que fizemos ou planejamos fazer a respeito:
- A comunidade deseja maior agilidade e clareza na responsividade dos cliques, especialmente no momento de escolher ou banir os Campeões. Melhoraremos esses aspectos e os feedbacks sonoros e visuais da interface para sanar o problema.
- A comunidade não se importa muito com os detalhes na seleção de Feitiços de Invocador e skins de Sentinela. Removeremos as animações associadas a esses aspectos, além de corrigir o problema da falha de memória citado anteriormente.
- Utilizamos a telemetria para analisar a frequência de uso de certos recursos da Seleção de Campeões que são menos relevantes na preparação da partida. Caso eles se adequem mais à categoria "é legal ter", haverá a possibilidade de removê-los, se necessário, para maximizar o desempenho.
- Painel de emote
- Campeões favoritos
- Missões
Chegar à Seleção de Campeões
Um dos pontos mais críticos que ouvimos da comunidade é que chegar à Seleção de Campeões pode trazer uma infinidade de problemas. Nessa hora, a confiabilidade é de suma importância para que todos se sintam preparados e concentrados na partida que os aguarda, e resolver problemas que interfiram no banimento e seleção dos Campeões é crucial. Também não queremos que você tenha que se preocupar se a skin, os Feitiços de Invocador ou suas runas usadas em centenas de partidas serão alterados sem seu conhecimento.
Quando começamos a trabalhar nesse ambiente, os principais objetivos que estabelecemos foram conduzir as pessoas à Seleção de Campeões com tempo adequado para tomar decisões importantes, garantir que o banimento e a seleção dos Campeões sejam confiáveis e que todos possam entrar na partida sem complicações.
Fim de partida
Embora não fosse uma área importante quando iniciamos a campanha de limpeza do cliente, o fim de partida (tudo que ocorreu desde que você apertou "continuar" na tela de Vitória ou Derrota e pôde interagir no saguão pós-partida) tornou-se um momento de frustração semelhante aos problemas de tempo de iniciação e à responsividade da Seleção de Campeões. Dividimos a frustração em duas áreas principais:
- Recebemos reclamações de um problema que faz com que o cliente fique preso em um botão de "reconectar" quando a partida acaba em vez de migrar imediatamente para a tela de Honra. Ainda estamos investigando a origem desse erro.
- Às vezes, o cliente fica travado ao migrar de volta à tela de Vitória ou Derrota, e quem está jogando não consegue interagir com a tela de Honra nem com o saguão pós-jogo. Temos algumas correções promissoras que devem entrar na 10.23.
Bugs nas configurações e nos pop-ups
Enquanto trabalhamos na Seleção de Campeões e no fim de partida, recebemos uma enxurrada de feedbacks de bugs nas configurações ao longo das últimas atualizações. Os problemas incluem coisas como a Seleção de Campeões não se lembrar dos seus Feitiços de Invocador e pop-ups aparecendo de novo (e de novo, e de novo, e de novo). Identificar a origem desses problemas foi bem complicado. Algumas de nossas equipes atualizaram seus sistemas de back-end separadamente e ao mesmo tempo, criando diversos casos isolados de problemas. Junte a isso a imensa quantidade de pessoas jogando e o resultado é que cada uma delas passa por ao menos um desses problemas. Desde o último artigo publicado, criamos três correções independentes para resolver a maior parte dessas complicações. A mais recente delas foi aplicada na 10.21.
Enquanto trabalhamos para realizar melhorias importantes na Seleção de Campeões e no fim de partida, continuaremos colaborando com nossas equipes internas para identificar e resolver os bugs mais problemáticos para a comunidade à medida que surjam.
Isso é tudo que temos para informar no momento! Há muito trabalho a ser feito até o fim do ano e gostaríamos de agradecer a todos pela paciência enquanto nos empenhamos para continuar tornando o cliente um lugar melhor para toda a comunidade a cada atualização!