Como funciona a pontuação do ScreenTest.Pro
Esta é a página de metodologia. Nada aqui foi simplificado para fins de marketing; se o código e esta página algum dia divergirem, isso é um erro e queremos saber. (Versão do benchmark no momento da publicação: 2.1.0.)
A pergunta que o benchmark faz
A maioria dos benchmarks gráficos fixa a carga de trabalho e mede a taxa de quadros. O nosso faz o inverso: fixa a meta de tempo de quadro e procura a carga mais pesada que seu dispositivo consegue sustentar dentro dela. O resultado é a “carga estável máxima” de cada cena — por exemplo, 840.000 partículas de nebulosa — e é daí que vem a pontuação.
Por que inverter? Porque as taxas de quadros saturam. Em uma máquina rápida, uma carga fixa encosta na taxa de atualização da tela e deixa de revelar qualquer coisa; a pergunta interessante é quanto mais ela poderia suportar. Procurar o limite mantém a medição relevante desde um celular de cinco anos atrás até uma GPU de desktop, sempre com as mesmas cenas.
O que é executado
O perfil Padrão inclui cinco cenas de destaque e uma cena de controle, cada uma pressionando um aspecto diferente:
| Cena | Unidade de carga | Aspecto medido |
|---|---|---|
| Deriva nebular | partículas de GPU | atualização de partículas no shader + fill rate |
| Metrópole neon | instâncias | vazão de geometria instanciada |
| Cromo líquido | resolução interna | ray marching / custo de fragmentos |
| Cascata estelar | partículas de CPU | física em JavaScript + envio de buffers |
| Hipernova | partículas de explosão | final de carga mista |
| Círculos básicos do Canvas 2D | círculos 2D | controle limitado pela CPU, sem WebGL |
A renderização usa uma proporção de pixels limitada a 1,5× e um teto para o tamanho interno, por isso um monitor 5K e um notebook 1080p enfrentam quantidades de pixels comparáveis. A aleatoriedade usa uma semente e os passos da simulação são fixos: toda execução de uma mesma versão realiza exatamente o mesmo trabalho.
Como a estabilidade é avaliada
O mecanismo nunca lê um contador de FPS. Ele coleta tempos de quadro do relógio de animação do navegador em janelas de aproximadamente 0,7–1,6 segundo e faz duas exigências para cada janela:
- tempo médio de quadro ≤ 16,67 ms × 1,08
- 95º percentil do tempo de quadro ≤ 16,67 ms × 1,28
O teste do 95º percentil é o mais rigoroso: uma máquina que renderiza 100 quadros rápidos e 6 péssimos produz engasgos, e o percentil impede que os quadros rápidos escondam o problema.
O orçamento de 16,67 ms é fixo, independentemente da taxa de atualização da tela. Uma tela de 120 Hz entrega quadros em intervalos de 8,3 ms quando a carga é leve, mas para passar basta permanecer dentro do orçamento de 60 quadros por segundo. Assim, o hardware de alta frequência é medido em condições iguais e não é punido por exibir quadros extras.
A busca
Cada cena percorre uma máquina de estados: preflight → baseline → warmup → ramp → bracket → confirm → anchor.
- Baseline mede uma carga leve conhecida, que se torna a referência térmica.
- Ramp multiplica a carga em cerca de 1,5× após cada janela aprovada, até uma janela falhar.
- Bracket faz uma busca binária entre a última carga aprovada e a primeira reprovada, até o intervalo cair para aproximadamente 6%.
- Confirm exige três janelas consecutivas aprovadas na carga candidata, dentro de um orçamento de quatro. Uma janela ruim no começo ainda pode ser recuperada; duas falhas seguidas, ou esgotar o orçamento sem três aprovações consecutivas, rejeitam o nível e reduzem a carga candidata.
- Anchor executa novamente a carga de referência. Se ela ficar mais de 15% mais lenta que no início, o dispositivo mudou durante a medição — quase sempre por limitação térmica — e a cena é marcada como degradada em vez de fingir que nada aconteceu.
Cada fase tem um limite rígido de tempo: 30 segundos por cena e 200 segundos por teste. Colocar a aba em segundo plano pausa a medição e invalida a janela atual; redimensionar reconstrói a cena e repete o aquecimento. Não existe caminho pela máquina de estados que possa ficar travado.
Das cargas à pontuação
A pontuação é uma função pura dos resultados registrados; você poderia recalculá-la à mão:
- A carga estável máxima de cada cena é dividida pela carga de referência daquela cena, uma constante de calibração congelada em cada versão. Como referência, um bom desktop de 2025 fica perto de 1,0.
- As proporções são limitadas ao intervalo [0,05, 20], para que uma única cena não possa dominar nem zerar o resultado.
- As proporções limitadas são combinadas em uma média geométrica ponderada. As cinco cenas de destaque carregam a maior parte do peso e o controle em Canvas 2D, 10%. A média é geométrica porque recompensa equilíbrio: uma máquina boa em tudo supera outra extraordinária em uma tarefa e péssima nas demais.
- O resultado é multiplicado por 1.000, recebe a dedução de estabilidade — 3% por cena degradada termicamente, limitada a 10% no total — e é arredondado.
As faixas usam limites fixos em cada versão. Como 1.000 pontos equivalem à máquina de referência, cada faixa é de fato um múltiplo dela: Básico abaixo de 1.000, Equilibrado até 2.999, Rápido até 8.999 e Extremo acima disso — isto é, abaixo de 1×, até 3×, até 9× e além. Elas dão um nome fácil ao número; as pontuações por cena são a informação realmente útil.
O que invalida comparações
- Versões diferentes do benchmark nunca são comparadas. Alterar um único shader muda a carga; a versão exibida na folha de resultados faz parte da pontuação.
- Os testes de compatibilidade — sem WebGL2 — usam apenas cenas clássicas e são pontuados em seu próprio espaço, claramente identificado.
- Os testes degradados mantêm essa marca, inclusive em nosso conjunto de dados anônimo, para que as medianas públicas possam excluí-los.
Variação entre testes e o que esperar
Em uma máquina ligada à tomada e ociosa, testes consecutivos costumam ficar separados por poucos pontos percentuais; a exigência de janelas consecutivas na confirmação é o que produz essa consistência. Na bateria, no modo de economia ou com o chassi aquecido, espere mais variação e talvez uma marca de degradação. Não é o benchmark mudando de humor: o dispositivo está realmente oferecendo menos desempenho. O artigo sobre os limites de um benchmark no navegador explica como interpretar o número depois de obtê-lo.