1001Ferramentas
📊 Utilitários

Medidor de FPS do Navegador

Mede frames por segundo do navegador via requestAnimationFrame. Mostra FPS instantâneo, médio e mínimo dos últimos 5s.

FPS instantâneo / médio / mínimo (5s)

0 / 0 / 0

Medição via requestAnimationFrame. Mantenha a aba focada para resultados precisos.

O que esse contador realmente mede

A rolagem engasga e você não sabe se a culpa é da página, do navegador ou do notebook. Esta página desenha três números ao vivo: o FPS do último quadro, a média dos últimos 5 segundos e o pior quadro desse mesmo intervalo. Serve bem para comparar cenários lado a lado: na bateria e na tomada, com e sem aquela extensão ligada, no Chrome e no Firefox, com o ventilador quieto e com a máquina fervendo.

Por dentro é um laço de requestAnimationFrame. A cada quadro ele mede o tempo desde o anterior e divide 1000 por esse intervalo, guardando os valores em uma janela deslizante de 5 segundos. O mínimo é o pior quadro isolado dessa janela, então um engasgo de 100 ms derruba o número para 10 e ele só volta ao normal quando aqueles 5 segundos passam. O teto é a taxa do seu monitor: um painel de 60 Hz entrega 60 e não passa disso.

A medição começa sozinha quando a página abre, sem botão de iniciar nem de zerar. E ela mede esta página, que está praticamente parada: encare o resultado como o teto que o navegador consegue entregar, não como o FPS do seu site ou do seu jogo. Para isso, use o painel Performance do DevTools na página real. Em aba de fundo o navegador limita o requestAnimationFrame, então mantenha a aba visível. Nada é enviado para lugar nenhum.

Perguntas frequentes

Por que trava em 60 se minha placa dá bem mais?
O navegador sincroniza os quadros com a taxa de atualização da tela. Um monitor de 60 Hz limita em 60; painéis de 120 ou 144 Hz mostram números maiores. Modo de economia de bateria costuma cortar para 30.
Dá para medir o FPS do meu site com isso?
Não. Ele mede esta página. Abra o seu site e use o painel Performance do DevTools, ou coloque um laço parecido de requestAnimationFrame no seu código.
O mínimo caiu para 4. Tenho um problema?
Um quadro ruim já basta: trocar de aba, um antivírus varrendo ou um build rodando ao fundo. Preocupe-se quando a média ficar baixa por vários segundos seguidos.

Ferramentas Relacionadas