Abra sobre o projeto

Como funcionam as verificações de Calcomera

Observação com limites claros

O Calcomera ajuda a reproduzir o sintoma e comparar as condições. O teste não substitui diagnósticos de hardware, medições do fornecedor ou instruções do fabricante. Versão do método: 1.0, 22 de setembro de 2026.

Internet: um nó e várias quantidades diferentes

A estabilidade e o ping medem o tempo de uma solicitação HTTP para nosso nó usando o monótono relógio do navegador. Este é HTTP RTT, não ping ICMP. O intervalo entre as amostras é de aproximadamente um segundo, o tempo limite é de 3 segundos. Uma amostra falhada não mostra a duração exata do intervalo entre as observações. A mediana é o valor central, p95 é o valor abaixo do qual se encontram aproximadamente 95% das medições. Jitter aqui é a diferença absoluta média de RTTs vizinhos bem-sucedidos; esta definição deve ser tida em conta na comparação com outros serviços.

Guia oculta, pausa longa do cronômetro e suspensão são marcadas como pausas de observação. O teste não promete monitoramento com o navegador fechado. Recursos de guias de fundo - MDN.

O teste de perda envia cerca de 20 mensagens numeradas por segundo via WebRTC DataChannel, ordenadas=false, maxRetransmits=0. O servidor armazena os números de mensagens recebidas; depois de esperar um segundo por respostas atrasadas, o cliente verifica o log. A não entrega é contada a partir de mensagens enviadas, a não entrega de eco é contada a partir de mensagens recebidas pelo servidor. Estas são mensagens de aplicativo, não um contador exato de pacotes IP. A falha na instalação de um link é relatada como um erro em vez de “perda de 100%”.

O teste de velocidade transfere uma quantidade limitada de dados por HTTP. O tempo inclui o processamento da solicitação e da resposta. A transferência é limitada pelo orçamento e tempo selecionados; um canal muito rápido pode não ter tempo para saturar. Bufferbloat compara a latência sem carga e durante a transmissão. Não atribuímos uma avaliação universal da qualidade da rede com base em um número. Como os replays WebRTC são configurados - MDN.

Mouse, teclado e gamepad

Contamos os eventos entregues ao navegador. Cliques e teclas rápidos e repetidos são comparados a um limite visível e personalizável. Uma entrada deliberadamente rápida também pode entrar no contador. A repetição automática KeyboardEvent.repeat é contada separadamente. A frequência dos eventos do mouse é estimada em intervalos e não é relatada como uma frequência USB exata.

Os bastões mostram os eixos da API do Gamepad e o raio de deflexão. A média da deriva só faz sentido quando os manípulos estão parados. A zona personalizada não altera o firmware do dispositivo. Para mapeamento não padrão, a ordem dos eixos pode ser diferente. Gamepad API — MDN.

Som e vídeo

A câmera e o microfone são solicitados somente após clicar. Os streams não são enviados para o nosso servidor. Os níveis RMS e de pico do microfone são expressos em dBFS relativos à faixa digital, não em dB SPL físico. Sem calibração, não é possível medir o volume da sala usando este método. O teste solicita opções de processamento e mostra as configurações reais de fluxo disponíveis. A sessão máxima é de 60 segundos.

O teste estéreo cria canais, mas não mede o som no ouvido. O gerador de tons não testa a saúde auditiva. A câmera mostra as configurações de imagem e fluxo disponíveis; Esta não é uma certificação de resolução de sensor. Permissões de mídia - MDN.

Sincronização e análise de arquivos de áudio

O teste de sincronização agenda um áudio curto via AudioContext e desenha um flash via requestAnimationFrame. O usuário seleciona o deslocamento manualmente. Esta é uma compensação subjetiva para um navegador, display e saída de áudio específicos; não é a latência medida do Bluetooth. A guia de plano de fundo interrompe a comparação. Linha do tempo de áudio da Web - MDN.

A verificação de compatibilidade mono aceita um fragmento local de até 60 segundos e 8 MiB. O navegador o decodifica para PCM 48 kHz. Calculamos o RMS dos canais, a correlação de Pearson com remoção média e a energia mono-soma (L+R)/2 relativa à energia média dos dois canais. Consideramos separadamente janelas de cerca de um segundo: uma correlação abaixo de -0,3, juntamente com uma perda de mais de 6 dB, é um motivo para ouvir uma seção, e não um defeito universal. Um canal vazio e um silêncio não recebem uma pontuação de correlação fictícia. Este não é um teste LUFS, pico verdadeiro ou alto-falante físico. Após a decodificação, um pequeno resíduo é possível mesmo com cancelamento quase completo. O arquivo permanece no navegador. Decodificação de Áudio - MDN.

Tela, toque e reação

Os campos de cores e gradientes destinam-se à inspeção manual. A página não vê defeitos físicos na matriz. A taxa de quadros é calculada pelo requestAnimationFrame, não pelo sensor de medição. Os toques são limitados aos eventos que o sistema operacional e o navegador passaram para a página. O tempo de reação inclui a latência do dispositivo e da tela.

O teste de clareza de cores desenha listras alternadas em preto e branco e coloridas com um pixel de largura no buffer do Canvas, levando em consideração devicePixelRatio. Compare visualmente o brilho e os detalhes das cores. Dimensionar o sistema operacional, a página, a TV e o caminho de vídeo pode distorcer a amostra. Requer resolução nativa, escala de página de 100% e nenhum zoom gestual. O navegador não lê HDMI/DisplayPort e não confirma automaticamente RGB ou 4:4:4. PNG 1024x640 no tamanho original está disponível para repetição.

IP e CGNAT

Mostra o endereço da conexão atual com o servidor. A comparação com WAN IPv4 ajuda a encontrar sinais de tradução adicional. VPNs, IPv6 e proxies podem tornar a comparação impossível. IP público não é igual a estático e não comprova portas abertas. Endereçamento Geral - RFC 6598.

Publicidade e precisão

Nas páginas de teste de rede, anúncios e análises opcionais aguardam até que a medição seja concluída. A nova medição após o carregamento do anúncio começa em uma página em branco. Não adicionamos uma espera por impressões de anúncios e não atualizamos blocos de anúncios com base em um cronômetro.