Sagui EN

Nota: o painel Desempenho, e por que quadro não é passo

Nota · etapa 2 Publicado em

Uma nota curta da etapa 2, sobre a entrega 12. Os números são provisórios, medidos no meu PC.

Ao dar Jogar, agora dá para ver como o jogo está indo por dentro. O editor ganhou o painel Desempenho, uma aba ao lado do Console, e a janela do jogo ganhou uma caixinha com os números principais, que liga e desliga com F3. A entrega nasceu de um pedido no meio da etapa e passou na frente da 7.

Desenho: à esquerda, um gráfico do tempo de cada quadro, com uma linha tracejada e quatro picos; à direita, uma fileira de traços azuis, os quadros, sobre uma fileira com menos traços verdes, os passos, e o macaquinho embaixo. (abre em nova aba)

Quadro não é passo

A primeira pergunta ao ver o painel foi: "passo seria FPS?". Não é.

  • O quadro é cada imagem que aparece na tela. Quantos quadros saem por segundo (o FPS) depende do monitor e da placa de vídeo: 144 num monitor de 144 Hz (que mostra 144 imagens por segundo), 60 num de 60.
  • O passo é cada vez que a lógica do jogo roda: andar, pular, colidir. São sempre 60 por segundo (ou 120, se o projeto escolher), em qualquer PC, e é isso que faz o jogo dar o mesmo resultado em todo lugar.

Entre um passo e outro, o desenho só suaviza o movimento. Por isso o painel mostra os dois, e a coluna dos passos se chama Lógica.

O que o painel mostra

  • Quadros: o FPS, o tempo de cada quadro e o gráfico dos últimos 10 s. E o 1% low, a média do 1% de quadros mais lentos: se a média é 144 e o 1% low é 60, o jogo engasga de vez em quando, mesmo parecendo rápido.
  • Lógica: quanto do tempo de um passo, 16,7 ms, a lógica usa (um ms é um milésimo de segundo).
  • Vídeo: a placa, o tempo dela para desenhar um quadro e a memória de vídeo.
  • Tela: a resolução, a escala do pixel art, a frequência do monitor e o VSync, que faz o jogo esperar o monitor para mostrar cada quadro, sem cortes na imagem.
  • Jogo: a CPU (o processador), a memória e quantos pedidos de desenho (as draw calls) vão para a placa a cada quadro.

Um botão Copiar leva tudo, com a versão e a placa, para colar num relato de problema.

O painel Desempenho, na aba ao lado do Console: o gráfico do tempo de cada quadro nos últimos 10 s e os blocos Quadros (144 fps, 1% low 121 fps), Lógica (60 passos por segundo), Vídeo, Tela e Jogo. Em cima, o interruptor Mostrar também no jogo (F3), o aviso de jogo parado e o botão Copiar. (abre em nova aba)
O painel de verdade, desenhado pelo editor, com números de exemplo.

O que o testador achou

Medir não pode atrapalhar. O jogo mede tudo isso fora da lógica, a medição custa cerca de 0,04 ms por quadro, e o resultado do jogo continua idêntico com o painel ligado ou desligado.

O testador, o conferente que não participou da obra, achou duas curiosidades. O painel chegou a dizer 61 FPS a 60 quadros por segundo em quase metade das vezes: contar os quadros do último segundo às vezes pegava um a mais. Agora, na janela do jogo, o FPS vem do tempo médio de cada quadro, e o 61 sumiu. E, numa janela baixa, a última linha do painel ficava cortada. Agora, quando falta altura, o gráfico some e os números ficam inteiros.

A caixinha do F3, ampliada: 60 fps e 16,7 ms, 1% low 38 fps, a lógica a 60 passos por segundo, o tempo da GPU e a CPU, a janela de 1920×1080 a 59 Hz com VSync, e embaixo F3 esconde. (abre em nova aba)
A caixinha do F3 na janela do jogo, capturada da tela do meu PC. O 1% low baixo vem dos tropeços do começo da partida.

O que vem agora

A entrega 7: o estilo do jogo (pixel art ou HD), a escala da tela e a câmera que segue o jogador.