Guide

Por que a primeira pontuação é menor: compilação de shaders

Por que a primeira execução pode ser menor, como a compilação afeta FPS e por que resultados públicos devem usar execução aquecida.

🚀 volumeshadertest
Hoje
5 min de leitura

A primeira execução do benchmark pode ser menor porque o navegador e o driver ainda estão compilando e vinculando programas de shader. O Volume Shader BM Test usa um fragment shader com raymarching cheio de loops, então a primeira execução pode incluir trabalho de preparação que as seguintes não repetem.

O que acontece antes do render

Quando um modo começa, o navegador cria programas WebGL. O driver compila o código shader, vincula em um programa de GPU, aloca buffers e prepara o caminho de renderização. Parte desse custo ocorre antes do primeiro frame; parte ainda pode afetar os frames iniciais.

Como afeta o resultado

Sintoma Causa provável O que fazer
Primeira execução menor que a segunda Compilação e cache de shader Compare a segunda
Travadas nos primeiros segundos Preparação do pipeline Observe P10 FPS e estabilidade
Cada execução piora Calor ou limitação de bateria Deixe esfriar
Cai apenas na bateria Política de energia Conecte ou desligue economia

Protocolo recomendado

Rode o mesmo modo uma vez e trate como aquecimento. Feche o painel de resultado. Rode o mesmo modo novamente nas mesmas condições. Registre a segunda execução. Se a segunda e a terceira continuarem caindo, o problema provavelmente é throttling térmico.

Por que importa em resultados públicos

Linhas públicas devem informar se a execução estava aquecida, qual navegador foi usado, o modo e qualquer condição térmica evidente. Sem isso, dois resultados com o mesmo dispositivo podem não ser comparáveis.

Próximas páginas úteis

Tags
Compilação de shadersFPSMetodologia