Oneshot Gems
Jogar agora

Para desenvolvedores de jogos

Baseie mudanças de desempenho no Canvas em evidências

A lentidão no Canvas pode vir do desenho, da simulação, da decodificação de imagens ou do trabalho de layout ao redor do Canvas. Tentar adivinhar otimizações costuma dificultar a manutenção do código sem corrigir a parte lenta. Comece com uma cena que reproduza o travamento de forma confiável, use as ferramentas de desempenho do navegador para localizar o intervalo mais ocupado e mude uma categoria de trabalho por vez. O objetivo não é buscar um máximo teórico, mas remover o gargalo visível em uma situação que você consiga reproduzir.

Nesta página

Crie uma cena de estresse repetível

Crie um estado de teste com um número conhecido de objetos em movimento, efeitos sobrepostos e rótulos de texto. Capture uma gravação ou semente fixa para que cada execução apresente aproximadamente o mesmo trabalho. Compare uma linha de base de cena vazia com uma cena lotada e, em seguida, inspecione se o tempo é gasto em atualizações de JavaScript, desenho de tela, decodificação de imagem ou trabalho de estilo e layout.

Se o desenho for o maior custo, teste agrupar caminhos semelhantes, reduzir mudanças de estado desnecessárias ou renderizar apenas as regiões que mudaram. Se a lógica de atualização for o gargalo, use o profiler para analisar verificações de colisão e iteração de objetos. O guia de otimização de Canvas da MDN apresenta essas técnicas como opções a avaliar, não como soluções universais que garantem velocidade.

Mude um custo e confira o resultado

Escolha um custo suspeito, como redesenhar repetidamente um fundo estático. Armazene esse fundo em cache em um Canvas fora da tela e compare antes e depois usando a mesma cena. Confira a imagem em tamanhos diferentes e depois de redimensionar: o cache pode ficar incorreto se usar dimensões antigas ou escalar o texto de outra forma.

Registre o dispositivo, o navegador, a cena e a ação usados na comparação. O resultado em uma máquina ajuda a diagnosticar aquela execução, mas não determina o desempenho em todos os navegadores e dispositivos. Teste de novo a interação original: uma otimização que melhora uma cena sintética ainda pode piorar a sensação dos controles em outros pontos.

Perguntas sobre ⁨desempenho de jogo em Canvas⁩

Devo redesenhar apenas os pixels alterados?

Depende da complexidade da cena e do custo dos redesenhos completos. A renderização parcial adiciona contabilidade e pode criar pixels obsoletos em torno de objetos em movimento, portanto compare ambas as abordagens com a mesma cena reproduzível.

Dicas para agrupar operações no Canvas garantem melhora?

Não. São hipóteses úteis para testar. Meça no navegador e na carga de trabalho desejados; mantenha a mudança somente se ela melhorar o gargalo observado sem prejudicar a renderização.

Leitura complementar

Viu alguma informação desatualizada? Informar uma correção

Continue jogando.

Jogos grátis no navegador, prontos quando você quiser. Encontre um de que goste e faça dele seu próximo favorito.

Siga sua curiosidade