Uma animação suave de radar começa como números, não como um filme pronto. O Forecast Bar leva uma varredura nacional por blocos, verificação, cache e renderização no dispositivo, e depois trata os intervalos entre as varreduras para que as tempestades se movam suavemente pela tela.
Uma Varredura Nacional, Cerca de Dezesseis Milhões de Valores
A NOAA combina observações de radar em uma varredura nacional a cada dois minutos. A varredura usada neste filme contém 6.100 por 2.700 pontos: 16.470.000 valores. O servidor do Forecast Bar verifica se há uma nova varredura a cada vinte segundos.
São relógios diferentes. Verificar a cada vinte segundos não cria uma nova observação a cada vinte segundos. Da mesma forma, uma tela que se atualiza muitas vezes por segundo não está recebendo esse tanto de novas varreduras de radar.
Envie os Valores e Adicione a Cor Depois
O radar viaja como números, um byte por ponto. O celular adiciona a cor ao desenhar o mapa. Isso separa os valores do radar da paleta que o usuário vê.
Os radares individuais não varrem em sincronia. Quando um está atrasado, seus dados são suavizados em direção à próxima varredura real dele. O filme descreve isso como trabalhar entre varreduras reais, e não inventar outra observação.
Monte Quadros Completos a Partir de Blocos Verificados
Cada quadro é cortado em blocos. Um bloco empresta uma borda de um pixel dos vizinhos para que as partes exibidas se encontrem sem emendas. Cada bloco também recebe uma impressão digital SHA-256.
Um quadro só entra no ar quando todos os seus blocos passam na verificação. Depois de publicado, ele nunca muda. Os blocos necessários para a tela chegam juntos como um arquivo em uma solicitação, em vez de aparecerem como uma série de partes incompletas.
Mantenha os Quadros Imutáveis por Perto
Como um quadro publicado não muda, os caches de borda podem guardá-lo por um ano. Um quadro antigo em cache continua sendo aquele quadro; encontrar a varredura mais recente é outra tarefa.
No dispositivo, os blocos se empilham na memória da GPU e a cor é aplicada por pixel no momento do desenho. O resultado medido no filme para a reprodução automática foi de cerca de um segundo e meio. Isso mede quanto tempo leva para a animação estar pronta para tocar, não a idade de uma observação de radar nem um tempo de entrega universal.
Mova as Tempestades entre as Varreduras em Vez de Apenas Esmaecer
As tempestades continuam se movendo durante os minutos entre as observações. Uma transição simples mostra a tempestade antiga sumindo enquanto a nova aparece, produzindo duas cópias fracas.
Em vez disso, a GPU estima um campo de movimento e move os ecos ao longo de suas trajetórias entre os quadros. O resultado pode ser atualizado na próxima atualização da tela, até 120Hz em telas compatíveis. Esse é um limite da tela, não uma promessa para todos os dispositivos, e não aumenta a frequência das observações.
O que Levar Daqui
Use estas verificações da próxima vez:
- Separe a cadência das varreduras, as verificações do servidor e a atualização da tela.
- Leia o horário mesmo quando a animação parece contínua.
- Entenda o movimento suave como renderização entre varreduras, não como novas observações de radar.