WOOFY · Laboratório de jogo

FPS iguais, cadência diferente

Um contador de FPS resume uma frequência. Não diz quando chega cada fotograma. Use estas sequências deliberadamente simples para aprender quais as perguntas a que um resumo responde e quais exigem a evolução temporal.

Mude a pergunta feita aos mesmos dados

Porque nem sempre se pode calcular a média de dois valores de FPS

Imagina dois intervalos completos: 10 ms e 30 ms. Juntos ocupam 40 ms. Conta ambos os intervalos ao longo desse tempo total.

A taxa global é 1000 × 2 ÷ 40 = 50 FPS. O inverso do intervalo de 10 ms corresponde a 100 FPS e o de 30 ms a cerca de 33.33 FPS.

A média de 100 e 33.33 é cerca de 66.67, mas não é a taxa global. O intervalo lento ocupa três vezes mais tempo. Mantém a contagem de intervalos associada à duração total; o mesmo erro surge ao combinar registos de comprimentos diferentes.

Três sequências, o mesmo tempo total

Cada sequência contém 1000 intervalos completos, num total de 10000 ms. Um intervalo é o tempo entre eventos consecutivos de fotograma. Aqui, média de FPS = 1000 × número de intervalos ÷ total de milissegundos. São intervalos sintéticos, sem efeitos dos limites da captura nem registos em falta.

A posição horizontal indica a ordem dos intervalos, não o tempo decorrido. A altura vertical indica a duração, de 0 a 120 ms. O texto e os números abaixo descrevem os mesmos dados.

Espaçamento uniforme

Todos os intervalos têm 10 ms. Nenhum excede o tempo de referência para 60 FPS, de cerca de 16.67 ms.

Média de FPS
100
Intervalo P99 (ms)
10
Intervalo mais longo (ms)
10
Intervalos acima da referência
0
Proporção de intervalos acima da referência (%)
0
Proporção do tempo total nesses intervalos (%)
0
Maior grupo consecutivo acima da referência
0
Tempo de referência (ms)
16,67

Dez intervalos longos separados

Cada centésimo intervalo tem 109 ms; os outros 990 têm 9 ms. Os intervalos longos estão separados. A média mantém-se nos 100 FPS, mas o P99 é apenas 9 ms.

Média de FPS
100
Intervalo P99 (ms)
9
Intervalo mais longo (ms)
109
Intervalos acima da referência
10
Proporção de intervalos acima da referência (%)
1
Proporção do tempo total nesses intervalos (%)
10,9
Maior grupo consecutivo acima da referência
1
Tempo de referência (ms)
16,67

Dez intervalos longos seguidos

Os mesmos dez intervalos de 109 ms surgem agora seguidos no final. Os valores resumidos são iguais aos da sequência separada, mas o maior grupo consecutivo acima do tempo de referência passa de um para dez.

Média de FPS
100
Intervalo P99 (ms)
9
Intervalo mais longo (ms)
109
Intervalos acima da referência
10
Proporção de intervalos acima da referência (%)
1
Proporção do tempo total nesses intervalos (%)
10,9
Maior grupo consecutivo acima da referência
10
Tempo de referência (ms)
16,67

Porque pode o P99 omitir os intervalos mais longos

Este laboratório ordena os intervalos do mais curto para o mais longo e escolhe a posição ceil(0.99 × N), contando a partir de um. Com 1000 intervalos, é a posição 990. Em ambas as sequências irregulares, os primeiros 990 valores são 9 ms; os dez intervalos de 109 ms ficam depois dessa posição. Aqui, um P99 inferior não prova uma experiência mais regular. Outras ferramentas podem usar métodos de percentil diferentes.

O P99 não é um «1% low FPS» universal

Um limite de percentil e a média dos intervalos mais lentos são cálculos distintos. A designação «1% low» não basta para identificar a fórmula. Verifique a definição, a métrica capturada e a versão da ferramenta antes de comparar resultados. Este laboratório apresenta o P99 em milissegundos e não chama 1% low ao seu inverso.

Mude a pergunta feita aos mesmos dados

Escolha uma sequência e uma frequência de referência. O tempo 1000 ÷ FPS de referência dá 33.33 ms a 30, 16.67 ms a 60 e 8.33 ms a 120. Alterá-lo apenas reclassifica os intervalos; não muda a sequência nem simula um limitador de FPS.

Os três exemplos acima usam a referência de 60 FPS. Os dados, as explicações e o método continuam legíveis sem os controlos interativos.

Só são contados intervalos estritamente superiores ao tempo de referência. A igualdade fica dentro do limite.

A proporção de tempo soma a duração total de cada intervalo contado, não apenas o excesso acima da referência. Não é uma pontuação de quebras de fluidez nem uma medida de latência de entrada. Um grupo consecutivo descreve intervalos adjacentes, não um episódio percetível de quebra de fluidez comprovado.

Compare uma alteração de definições de forma justa

Use a sua ferramenta de captura para medições reais. Este laboratório não lê o hardware nem importa ficheiros de captura. Registe o seguinte antes de concluir que uma definição ajudou.

  1. Defina uma pergunta

    Por exemplo: alterar uma definição gráfica reduz os intervalos longos repetidos no mesmo percurso? Mantenha constantes a versão do jogo, a cena, a resolução, o limite de fotogramas, a sincronização e as restantes definições. Registe qualquer exceção.

  2. Capte execuções comparáveis

    Faça uma preparação inicial consistente e use o mesmo percurso e duração de gravação. Repita cada condição e alterne a ordem quando possível. Separe o carregamento inicial ou o trabalho de shaders do teste já preparado; não elimine picos inconvenientes sem documentar o motivo.

  3. Leia os resumos com a evolução temporal

    Compare a frequência média, os valores das caudas da distribuição, o intervalo máximo e a localização dos intervalos longos. Se os resultados repetidos se sobrepuserem muito, declare o resultado inconclusivo em vez de escolher a melhor execução. A média pode manter-se e a cadência melhorar de forma útil.

  4. Indique o alcance da conclusão

    Anote a definição alterada, as condições fixas, os resultados repetidos e a incerteza restante. Os intervalos de apresentação pela aplicação, os fotogramas exibidos e os gerados podem diferir. Compare a mesma métrica; não deduza latência de entrada ou avaria de CPU/GPU apenas destes números.

Da tabela de resultados a uma conclusão fundamentada

Cada caso faz uma pergunta diferente: a vantagem repetiu-se, a métrica escolhida melhorou e os registos foram combinados corretamente? Lê as observações antes de decidir o que sustentam.

Todos os registos abaixo são dados didáticos construídos a partir de intervalos completos, não capturas reais de benchmarks. A e B são rótulos, não definições recomendadas. Os exemplos não estabelecem um número mínimo de repetições nem uma regra de significância estatística.

O melhor registo sugere um vencedor; o conjunto completo não

Neste exemplo construído, A e B alternam no mesmo percurso durante 60 segundos cada, com a mesma métrica de captura, aquecimento, resolução e restantes condições. A pergunta é se B mostra uma vantagem repetível na taxa média nestes três pares.

Par de repetiçõesA · Média de FPSB · Média de FPSB menos A (FPS)
11001033
210299-3
31011010

A

FPS globais ao longo da duração completa
101
Menor média de FPS entre os registos
100
Maior média de FPS entre os registos
102

B

FPS globais ao longo da duração completa
101
Menor média de FPS entre os registos
99
Maior média de FPS entre os registos
103

Escolher apenas o resultado mais alto dá A 102 e B 103 FPS. Manter todos os registos de igual duração dá a ambos 101 FPS globais. As diferenças dentro de cada par são +3, −3 e 0 FPS: a direção muda.

O que podes concluir

Este conjunto não mostra uma vantagem consistente de FPS médios para B. Também não prova que as definições sejam equivalentes; uma pequena amostra construída não resolve essa questão.

O que verificar a seguir

Repete observações comparáveis e analisa as diferenças juntamente com as condições de captura. Mantém todos os registos válidos e documenta as exclusões. Se a ordem das repetições ou tarefas em segundo plano puderem explicar um resultado, melhora a comparação antes de escolher um vencedor.

Limites da conclusão

A sobreposição de amplitudes é uma descrição, não um teste de significância. Um único melhor registo e um número fixo de repetições não são regras universais de decisão.

A média melhora enquanto uma medida dos intervalos longos piora

Os dois registos construídos duram dez segundos. A contém 980 intervalos de 10 ms e dez de 20 ms. B contém 1180 intervalos de 8 ms e vinte de 28 ms. Usa para ambos a mesma referência de 60 FPS, cerca de 16.67 ms.

A

Duração (s)
10
Intervalos completos
990
Média de FPS
99
Intervalos acima da referência de 60 FPS
10
Proporção de tempo nesses intervalos (%)
2

B

Duração (s)
10
Intervalos completos
1.200
Média de FPS
120
Intervalos acima da referência de 60 FPS
20
Proporção de tempo nesses intervalos (%)
5,6

A totaliza 990 intervalos e B 1200: 99 contra 120 FPS. Os intervalos contados ocupam 200 ms em A e 560 ms em B, ou 2% contra 5.6% do tempo total. Estas percentagens descrevem tempo, não a fração de intervalos.

O que podes concluir

B tem a taxa média mais alta neste exemplo, mas passa mais tempo em intervalos acima da referência escolhida. Os números sustentam uma contrapartida, não um vencedor em fluidez global.

O que verificar a seguir

Indica se a tua pergunta real diz respeito à taxa média, a intervalos longos repetidos ou a outro resultado medido. Compara registos repetidos da mesma cena e vê onde ocorrem os intervalos longos antes de manter a definição.

Limites da conclusão

Um par A/B não estabelece um efeito repetível. O limiar é uma referência escolhida; este exemplo não mede perceção nem atraso de entrada e não identifica a causa de um intervalo longo.

Registos de comprimentos diferentes podem inverter uma classificação simplista

A combina dez segundos a 120 FPS com noventa segundos a 60 FPS. B combina dois registos de cinquenta segundos a 80 FPS. Cada rótulo cobre, portanto, 100 segundos. Os comprimentos dos registos de A diferem, os de B são iguais.

RegistoDuração (s)Intervalos completosMédia de FPS
A1101.200120
B1504.00080
A2905.40060
B2504.00080

A

FPS globais ao longo da duração completa
66
Média aritmética dos valores de FPS dos registos
90

B

FPS globais ao longo da duração completa
80
Média aritmética dos valores de FPS dos registos
80

A contém 1200 + 5400 = 6600 intervalos: 66 FPS ao longo de 100 segundos. B contém 4000 + 4000 = 8000: 80 FPS. A média dos dois valores de FPS apresentados para A dá 90, colocando-o incorretamente acima de B se for apresentada como taxa global.

O que podes concluir

Ao longo das durações completas, os dados construídos dão A 66 e B 80 FPS. O atalho de 90 FPS atribui o mesmo peso a registos de comprimentos muito diferentes.

O que verificar a seguir

Se a pergunta é a taxa global, combina contagens de intervalos e durações. Ao comparar efeitos de definições, iguala também a composição das cenas, o aquecimento e a métrica de captura; a aritmética correta não corrige condições incompatíveis.

Limites da conclusão

A média dos FPS por registo responde a outra pergunta e não é inválida por si só. Não deve receber o nome de taxa global. Estes valores agregados, isoladamente, não mostram que B causou uma melhoria.

Muda o resumo, mantém os registos

Usa os mesmos dados construídos para comparar um cálculo da duração completa com o atalho de cada caso. Só o resumo muda. Os registos e as suas condições mantêm-se.

Uma conclusão útil pode incluir incerteza

Estes dados permitem dizer: «Os dois exemplos têm média de 100 FPS, mas padrões de intervalos diferentes». Não permitem dizer: «Este PC vai parecer fluido». Nos seus testes, mantenha as definições só depois de verificar medições repetidas comparáveis e a experiência que queria melhorar.

O que este exercício não pode dizer

Estas sequências ilustram aritmética, não a perceção humana. Excluem o comportamento de atualização do ecrã, a frequência de atualização variável, a geração de fotogramas, o atraso de entrada, o atraso de rede e a causa de um intervalo longo. A referência é uma linha de comparação escolhida, não um limiar universal de bom ou mau. Os exemplos não recomendam jogos, compras de hardware ou reparações.