Dev
LIMPEZA DO CLIENTE: Recapitulação de 2020 e Futuro

Chegou a hora de recapitular o que fizemos em 2020 e falar dos nossos planos para 2021.

DevJogadoresRiot Am1t, Riot Id, Riot Aotus
  • Copiado para a área de transferência

Prometemos falar com mais frequência sobre o trabalho que temos feito para melhorar o desempenho e a confiabilidade do cliente do LoL.

A atualização de hoje é a sexta parte dessa série. (Confiram também o primeiro, o segundo, o terceiro, o quarto, e o quinto artigos.)

Resumindo: passamos o ano de 2020 melhorando o tempo de iniciação, a arquitetura, a Seleção de Campeões, o fim de partida, e corrigindo as falhas de memória, os encerramentos inesperados e os bugs do cliente. Estamos no meio do planejamento para o 1º trimestre de 2021, com foco em melhorar o painel social e continuar nosso trabalho na estabilidade geral do cliente.


Recapitulando 2020

Nossa equipe foi formada no final de 2019 e grande parte do nosso trabalho inicial foi compreender o estado do cliente do LoL. Como parte desse processo, decidimos nos concentrar nos aspectos que mais incomodavam as pessoas no mundo todo (sim, toda a comunidade) para determinar o que deveríamos fazer para melhorar o cliente. Ainda temos trabalho a fazer, mas fomos capazes de realizar melhorias significativas no cliente em 2020.

  • Lançamos nossa pesquisa global sobre o cliente, que nos ajudou a determinar onde deveríamos aplicar nossos esforços. A maior parte das conquistas abaixo resultam do que vocês gostariam que fosse resolvido.
  • Conseguimos reduzir o tempo de iniciação do cliente a 16 segundos para 90% das pessoas que jogam no mundo todo (a média era de 29,5 segundos no início de 2020).
    • Isso foi possível graças a um trabalho de arquitetura, incluindo 63% de redução na inicialização de aplicativos do Ember (os que pesavam na iniciação do cliente) e uma redução de 57% dos plugins do cliente. Em outras palavras, demos uma "enxugada" nos códigos.
  • Melhoramos a responsividade e a confiabilidade da Seleção de Campeões ao selecionar e banir Campeões.
    • Corrigimos problemas de desempenho na filtragem de Campeões e realizamos melhorias na grade de Seleção de Campeões.
    • Investigamos o nível de uso de certos recursos na Seleção de Campeões. Vamos falar mais sobre isso adiante.
    • Melhoramos o tempo para confirmação e banimento de Campeões.
    • Corrigimos falhas de memória na Seleção de Campeões (destacadas abaixo).
  • Resolvemos o problema que fazia com que o cliente travasse completamente e deixasse as pessoas em uma tela preta após o fim de uma partida.
  • Resolvemos o problema que fazia com que o cliente permanecesse na tela com o botão "Reconectar" no fim da partida.
  • 175 bugs corrigidos em 2020, de pequenos problemas a dores de cabeça de longa data.
    • Nomes de pessoas sendo exibidos como "..." no chat.
    • A barra de tarefas sem exibir o destaque ao receber uma mensagem no chat.
    • Novas amizades desaparecendo do painel social.
    • Configurações redefinidas ao fazer login em um PC diferente.
    • Notificações de presentes constantes ao fazer login.
    • Pessoas retornando para uma tela de início em branco após realizar diversas ações no cliente.
  • Melhoramos a responsividade da aba Coleções e de todos os seus subgrupos.
  • Reduzimos o tempo de carregamento da aba Runas em 40% e tornamos a interface das Runas mais leve e confiável.
  • Corrigimos 30 falhas de memória no cliente. Essa é uma área particularmente difícil que descobrimos no final de 2020, então, estamos muito felizes por ter realizado tantas melhorias antes das festas de fim de ano.
    • Falhas de memória ocorrem quando uma parte do programa não consegue mais se livrar de sua memória após finalizar uma tarefa. Isso reduz a memória total disponível para que outros programas sejam executados no sistema. Os resultados são sempre ruins, mas as causas são bem difíceis de identificar, especialmente em aplicativos com maior volume de dados.
    • Antes da nossa primeira correção de falha de memória na 10.23, as pessoas passavam por 193 mil encerramentos do cliente por falta de memória a cada atualização em todas as regiões em que a Riot atua.Na última atualização de 2020, a 10.25, tivemos uma redução de 55% desse erro!

Como dissemos anteriormente, utilizamos os resultados da pesquisa global sobre o cliente para orientar nossas decisões a respeito de onde concentrar nosso trabalho. As melhorias acima representam progresso nas áreas que mais incomodavam vocês, mas, no fim, isso só é relevante se todas as pessoas sentirem que nossos esforços estão no caminho certo. Por isso, estamos felizes em informar que, além das análises com base nas partidas, tivemos resultados positivos nas pesquisas que realizamos, o que significa que vocês estão passando por menos frustrações ao utilizar o cliente!

Mas menos não quer dizer zero. Temos muito a fazer neste ano e continuaremos informando os nossos passos a vocês.


Recursos pouco usados na Seleção de Campeões

Caso não tenham lido nossa publicação anterior, dissemos que estávamos investigando alguns recursos pouco usados na Seleção de Campeões para melhorar o desempenho geral. Após analisarmos os favoritos, as missões e os emotes, decidimos que, em vez de removê-los, vamos otimizá-los.Já corrigimos um problema com os emotes e, no momento, estamos trabalhando para que os favoritos e as missões funcionem como esperamos.


O que vem por aí

Estamos terminando de planejar o primeiro trimestre do ano, mas isto é o que temos para o cliente do LoL:

Painel social

Observamos um aumento de problemas no painel social ao longo do ano passado. Em dezembro, corrigimos um problema que impedia os cartões flutuantes de exibir o tipo de partida e os Campeões das pessoas na lista de amigos. Estes são os próximos alvos:

  1. O painel social não se conecta.
  2. A lista de amigos não carrega, exibe status incorretamente, não exibe os amigos.
  3. As pessoas não recebem pedidos de amizade porque sua lista de amigos está cheia.
  4. As informações de ranqueadas desaparecem do cartão flutuante quando alguém está em uma partida normal.
  5. O chat trava ao enviar muitas mensagens seguidas em um curto período.
  6. As pastas se reorganizam entre sessões.
  7. As pastas de LoR e VALORANT desaparecem ao organizar por "Agrupar jogos e servidores".
  8. Clicar em "Exibir linha das datas" na caixa de chat faz com que as caixas de texto se sobreponham.
  9. A notificação de pedido de amizade só aparece quando a opção está desligada e vice-versa.

Também daremos fim ao velho framework Javascript (falaremos mais disso já, já) e faremos a migração total do painel social para o Ember. Essa transição é uma boa oportunidade para limparmos partes complexas do código, resultando em mais confiabilidade e menos bugs.

Estabilidade do cliente

Introduziremos dois novos objetivos na melhoria da estabilidade do cliente do LoL: encerramentos do cliente e erros no Javascript, responsável por muitas coisas, inclusive... encerramentos do cliente. Em vez de nos concentrarmos em uma parte específica (como a Seleção de Campeões ou a iniciação do cliente), faremos uma abordagem mais ampla. Além do trabalho de estabilidade que já temos priorizado, há quatro aspectos distintos:

  • Redução de encerramentos: na Atualização 10.25, pessoas em 16 regiões da Riot passaram por 2,2 milhões de encerramentos do cliente. Após uma investigação inicial, parece que a melhor opção para resolver a maioria desses encerramentos é atualizar nossa versão do Chromium. Esse é o navegador que atua no núcleo da arquitetura do cliente do LoL.
  • Redução de erros de Javascript: na Atualização 10.25, pessoas de 16 regiões da Riot passaram por 36 milhões de erros de Javascript (JS) no cliente. Embora nem todos os erros de JS resultem em um encerramento ou em uma queda de desempenho, até erros invisíveis podem acabar acumulando e causando impactos maiores. Reduzir esses números trará diversos benefícios para o cliente.
  • Continuar resolvendo falhas de memória: corrigir esses problemas foi uma grande vitória no ano passado. Este ano, queremos continuar nessa batalha.
  • Continuidade no trabalho de arquitetura para "enxugar" nossa base de códigos: para aprimorar o Chromium, como dissemos anteriormente, temos que concluir uma série de pré-requisitos que já trarão melhorias ao desempenho do cliente. Planejamos terminar esse trabalho e lançar o aprimoramento do Chromium por volta da metade do ano.
    • ○ A última vez que atualizamos o Chromium foi em dezembro de 2019, alguns meses antes da Campanha de Limpeza do Cliente. Obtivemos bons resultados com a atualização (CTRL+F "Chromium") e destacaremos as melhorias que acompanharão esse novo aprimoramento quando estivermos mais perto do lançamento.

Agradecemos o feedback que recebemos constantemente a respeito do cliente e saibam que acompanhamos tudo! O ano de 2020 foi bom em relação aos aspectos técnicos do jogo. Continuaremos nesse embalo para melhorar o nosso cliente cada vez mais para vocês!



  • Copiado para a área de transferência