Guide

Volume Shader BM Test — Metodologia

Como o benchmark funciona por dentro: modos, métricas, limites de precisão e o que este teste não mede.

🚀 volumeshadertest
Ontem
5 min de leitura

O Volume Shader BM Test é um benchmark pequeno e transparente. Esta página descreve exatamente o que ele mede, os quatro modos de teste, as métricas no painel de resultados e os casos em que o número exibido não é uma comparação justa.

1. A pilha de renderização

O teste roda inteiramente em WebGL 2.0 por meio de um único fragment shader. Não há plugins nativos, extensões auxiliares nem workers off-screen. Um vertex shader desenha um único triângulo em tela cheia; o fragment shader faz todo o trabalho para cada pixel na tela.

2. O que o shader faz — raymarching com SDFs

Em vez de rasterizar polígonos, o fragment shader usa raymarching com Signed Distance Fields (SDFs). Para cada pixel, a GPU lança um raio virtual a partir da câmera e o avança em etapas discretas até que ele atinja uma superfície definida pelo SDF ou saia da cena. Cada etapa avalia todo o campo de distância — um grande bloco de matemática que força bastante os núcleos de shader.

Esta é a mesma técnica que explicamos em detalhes no nosso guia avançado de raymarching em WebGL 2.0.

3. Modos de teste

Há quatro modos disponíveis. Eles não são apenas escalas de resolução — cada um executa uma carga de shader diferente, por isso seus resultados não podem ser comparados diretamente:

  • Light — menos etapas e resolução mais baixa. Projetado para que até GPUs móveis modestas consigam rodar com FPS utilizável para uma linha de base.
  • Medium — contagem moderada de iterações e resolução nativa do canvas. Aproxima-se de uma carga de shader exigente "normal".
  • Heavy — mais de 1.000 iterações de shader por pixel. É onde a maioria das GPUs de desktop fica na faixa de 30–60 FPS.
  • Extreme — levado ao ponto em que GPUs dedicadas de alto desempenho começam a perder frames. Útil para classificar o topo; não para comparação casual.

4. Métricas

  • Average FPS — frames por segundo ao longo de toda a execução, ignorando o primeiro segundo (veja §6).
  • Min / Max FPS — a pior e a melhor janela de 1 segundo durante a execução.
  • Frame time — milissegundos por frame. 60 FPS ≈ 16,7 ms; 30 FPS ≈ 33,3 ms.
  • Stability — quão consistente é o tempo de frame durante a execução. Um número alto de estabilidade significa que sua GPU sustentou o desempenho; um número baixo significa que ela sofreu throttling, foi preemptada ou competiu por recursos.

O guia de resultados de FPS explica como interpretar esses níveis em termos cotidianos.

5. Os modos de teste não podem ser comparados diretamente

Cada modo tem um orçamento de loop interno diferente. Um resultado de 45 FPS em Light e um resultado de 45 FPS em Heavy não descrevem o mesmo trabalho da GPU. Ao comparar dois dispositivos, sempre execute o mesmo modo em ambos, idealmente no mesmo navegador.

6. A primeira execução é ruidosa de propósito

Na primeira vez que a página carrega, o navegador compila GLSL em um binário específico do driver. Em alguns drivers, isso leva centenas de milissegundos e aparece como uma travada no início da execução. Descarte o primeiro resultado e use o segundo. Para comparar dispositivos, execute duas vezes em cada um.

7. Resultados em celulares dependem de mais do que a GPU

Benchmarks em celulares são dominados pela margem térmica e pela política de energia do sistema operacional tanto quanto pelo silício bruto da GPU. Economia de bateria / modo de baixo consumo, brilho da tela, material da capa e até a forma como o aparelho é segurado podem alterar a pontuação. Para comparações justas em celulares, conecte o aparelho à energia, desative a economia de bateria e dê preferência à stability em vez do pico de FPS. Veja o guia de teste de GPU para celulares para detalhes.

8. O que este teste não é

O Volume Shader BM Test mede throughput de shader ALU em uma carga sintética. Ele é excelente para identificar se um navegador, driver ou dispositivo perdeu uma parte da capacidade de computação da GPU. Ele não é:

  • Um substituto para um benchmark nativo como 3DMark, Geekbench GPU ou GFXBench.
  • Um preditor de FPS em jogos — jogos são dominados por draw calls e largura de banda de textura, não por shader ALU.
  • Uma medida de largura de banda de memória, desempenho de ray tracing ou decodificação de vídeo.

9. Privacidade

Toda renderização, contagem de FPS e agregação de resultados acontece localmente no seu navegador. Não coletamos fingerprints de hardware, IDs de GPU nem resultados. Usamos serviços padrão de analytics e anúncios que podem definir cookies, mas nenhum dado de benchmark sai do seu dispositivo.

Execute o teste

Iniciar o Teste Volume Shader BM →

Relacionados

Tags
MetodologiaTransparênciaComo funciona