Este teste de suavidade do scroll mede o tipo de movimento com que se depara mais do que qualquer outro: uma página ou lista a mover-se sob o seu dedo ou roda do rato. É no scroll que o jank surge primeiro, porque acontece constantemente e os seus olhos estão treinados para o detetar. Uma página que engasga ao mover-se, um feed que salta quando lhe dá um toque, um documento que treme linha a linha — tudo isto se resume a saber se o navegador consegue entregar um novo fotograma em cada atualização enquanto o conteúdo está em movimento. Este teste faz scroll de uma faixa alta de linhas numeradas com um passo fixo por fotograma e conta os fotogramas que chegam atrasados.
Como as linhas apresentam números claros e contornos nítidos, os seus olhos conseguem avaliar diretamente a suavidade, enquanto o medidor lhe atribui um valor. Isso permite-lhe comparar navegadores, extensões e máquinas com dados em vez de uma impressão vaga.
A faixa desloca-se por si só assim que a página carrega. Para a interpretar bem:
Utilize Repor medidor para iniciar uma nova contagem. Deixar o teste a correr durante trinta segundos dá uma imagem mais fiel do que uma vista de olhos rápida, porque os engasgos de fundo vêm e vão.
Um scroll suave exige que o navegador produza um novo fotograma em cada atualização — a cada 16.7 milissegundos a 60 Hz, a cada 8.3 a 120 Hz — enquanto também executa a página. Quando algo atrasa esse trabalho, um fotograma é perdido e o scroll dá um salto. Os culpados habituais são específicos e resolúveis.
Imagens grandes, disposições complexas e scripts ocupados tornam cada fotograma do scroll dispendioso de desenhar. As páginas que executam código a cada evento de scroll são especialmente propensas ao jank. Isto é uma propriedade tanto da página como da sua máquina, razão pela qual alguns sites fazem scroll de forma suave e outros não, no mesmo computador.
As extensões de bloqueio de conteúdos, de compras e de acessibilidade inspecionam a página à medida que esta se move. Uma única extensão mal otimizada pode acrescentar trabalho suficiente por fotograma para causar estremecimento visível. Testar numa janela privada, onde a maioria das extensões está desativada, é uma forma rápida de verificar.
Os navegadores tentam entregar o scroll à GPU para que se mantenha suave mesmo quando a página está ocupada. Quando a aceleração por hardware está desligada ou uma página força o trabalho de volta para a thread principal, o scroll recai no caminho mais lento e faz jank. Ligar a aceleração por hardware nas definições do navegador costuma ajudar.
Como acontece com qualquer movimento, um portátil em poupança de bateria, um dispositivo quente a fazer throttling ou uma tarefa em segundo plano a roubar tempo de CPU farão todos com que os fotogramas cheguem atrasados. O teste de scroll reflete a mesma saúde do sistema que rege todos os outros tipos de movimento.
Um scroll saudável é uma taxa de fotogramas alta e estável, com uma contagem de jank próxima de zero e um maior intervalo entre fotogramas próximo do tempo de fotograma esperado. A tabela abaixo mostra o tempo de fotograma alvo para taxas de atualização comuns — o valor em torno do qual o teste deve rondar durante o scroll.
| Taxa de atualização | Tempo de fotograma alvo | Orçamento por fotograma para scroll suave |
|---|---|---|
| 60 Hz | 16.7 ms | Tudo tem de terminar dentro de 16.7 ms |
| 120 Hz | 8.3 ms | Metade do tempo, o dobro da suavidade |
| 144 Hz | 6.9 ms | Orçamento mais apertado, exige uma página capaz |
Uma taxa de atualização mais alta torna o scroll visivelmente mais suave, mas apenas se o navegador conseguir continuar a preencher esse orçamento mais apertado. Confirme a taxa de atualização a que está realmente a funcionar com o nosso guia da taxa de atualização e meça a sua taxa de fotogramas em bruto no teste principal de FPS.
Se o scroll está com jank aqui mas um jogo corre de forma suave, a causa costuma ser o navegador ou a página e não o seu hardware. Se o movimento está irregular em todo o lado, meça-o de forma isolada com o teste de stutter, que usa o mesmo medidor de tempo de fotograma sem o conteúdo do scroll.
Porque a suavidade depende tanto da página como da sua máquina. Scripts pesados, imagens grandes e manipuladores de eventos de scroll tornam alguns sites dispendiosos de percorrer. Um resultado limpo aqui significa que o seu navegador e hardware são capazes; o site ocupado é o estrangulamento.
Sim, desde que o navegador consiga entregar um fotograma em cada atualização. Um ecrã de 120 Hz desliza de forma mais suave do que um de 60 Hz, mas apenas enquanto a página continuar a preencher o orçamento de fotograma mais curto. Se não conseguir, simplesmente vê o jank mais cedo.
Os navegadores diferem na forma como compõem e entregam o scroll à GPU, e na forma como as extensões se ligam à página. É comum um navegador fazer scroll de uma página de forma suave enquanto outro tem jank num hardware idêntico.
Partilham o medidor de tempo de fotograma, mas este teste conduz conteúdo de scroll real através do compositor do navegador, que é o caso do dia a dia com que a maioria das pessoas se preocupa. O teste de stutter isola o ritmo de fotograma em bruto sem a camada de scroll.
Sobretudo o seu navegador e a máquina em que corre. As linhas movem-se através do caminho de renderização e composição do navegador, pelo que um mau resultado costuma apontar para o navegador, uma extensão ou a carga do sistema, e não para o painel. O seu ecrã continua a definir o limite máximo — um ecrã de 60 Hz nunca poderá fazer scroll de forma tão suave como um de 120 Hz — mas, assumindo que a taxa de atualização é adequada, este teste está a avaliar o quão bem o software acompanha.
A maioria dos navegadores e sistemas operativos oferece uma opção de scroll suave que anima cada passo do deslocamento em vez de o fazer aos saltos. Torna o movimento mais suave à vista, mas não cria fotogramas que o navegador não consegue desenhar — se a página for pesada, o scroll suave limita-se a animar o jank. O ganho real vem de uma taxa de atualização alta combinada com uma página suficientemente leve para acompanhar. Num ecrã de 120 Hz, fazer scroll de uma página simples é visivelmente mais suave do que a 60 Hz, porque o dobro dos fotogramas descreve o mesmo movimento. Este teste permite-lhe confirmar que o seu navegador está genuinamente a entregar esses fotogramas em vez de deitar fora metade deles.
A forma como faz scroll altera o que sente. Uma roda do rato move-se em passos discretos, pelo que a suavidade depende do quão bem o navegador anima a transição entre eles. Um trackpad ou ecrã tátil faz scroll de forma contínua e é entregue ao compositor, que costuma ser o caminho mais suave — mas também o mais evidente quando um fotograma é deitado fora, porque o seu dedo cria uma expectativa que o ecrã tem de igualar. Os telemóveis e tablets são especialmente sensíveis aqui, uma vez que o scroll é a principal forma de percorrer tudo. Se uma página tiver jank sob o seu dedo mas não sob a roda do rato, o compositor está a ser forçado a esperar pela thread principal.
Um scroll suave é uma cadeia, e o elo mais fraco define o resultado: a página tem de ser suficientemente leve para ser desenhada a tempo, o navegador tem de entregar o scroll à GPU, o sistema não pode estar ocupado ou a fazer throttling, e o ecrã tem de ter margem de atualização para mostrar os fotogramas. Este teste exercita toda a cadeia ao mesmo tempo. Quando o número é bom, todos os elos estão a aguentar; quando é mau, as secções acima ajudam a restringir qual o elo a examinar primeiro. Como o scroll é tão comum, pequenas melhorias compensam em todo o lado — uma atualização do navegador, uma extensão desativada ou uma mudança para a aceleração por hardware podem elevar um resultado com jank a um resultado limpo, e sentirá a diferença em todos os sites que visitar depois.
O scroll é apenas uma fatia do dia a dia do desempenho de movimento. Continue com estas ferramentas complementares: