O que são "taxa de quadros" e "fps?"

7

Alguém pode me dar uma explicação detalhada sobre os conceitos de taxa de quadros e fps?

xdevel2000
fonte
7
Nesse contexto, "taxa de quadros" e "fps" são sinônimos. No entanto, você também pode ver o termo "fps" em relação ao gênero do jogo - First Person Shooter.
ChrisF
E algumas notícias relacionadas recentes: techreport.com/articles.x/21516
MichaelHouse

Respostas:

38

"Taxa de quadros" e "FPS" (quadros por segundo) geralmente são a mesma coisa. Um "quadro" geralmente é uma imagem única na série de imagens apresentada rapidamente na tela, para dar a ilusão de movimento no jogo, e os termos geralmente se referem a quantas dessas imagens o jogo pode simular e produzir dentro um segundo.

O FPS é frequentemente usado como uma medida bruta de desempenho, mas é importante lembrar que é uma medida não linear : a diferença entre 30 e 60 FPS é muito maior que 60 e 90 FPS.

Ocasionalmente, você verá o termo aplicado em um contexto em que "quadro" não se refere diretamente a uma unidade de processamento de gráficos / simulação em geral, mas a algo mais estreito no escopo. A idéia é a mesma: quantas dessas etapas o programa produz em um segundo.


fonte
3
Uma vantagem de obter e manter um FPS maior do que o olho pode razoavelmente consumir é que o protege do aumento ocasional do FPS, levando-o a um ponto em que artefatos visuais podem ser detectados. O ponto de fusão de cintilação do olho humano tende a ficar em torno de 60 FPS, em qualquer caso.
11
@bane: É verdade que o olho para de detectar cintilação entre 50 e 75Hz, mas o olho humano pode ver muito mais do que isso em "imagens por segundo". A pesquisa militar dos EUA mostrou que os pilotos podem identificar aviões melhor do que o acaso, tendo apenas os visto por 1/220 de segundo. Ainda assim, o limitador em qualquer ambiente prático será a sua tecnologia de exibição - geralmente 60Hz.
11
@ashes: Trivialmente, é ay = 1 / x curva.
3
@bane: ms / frame é a primeira medida que você deve observar para fins de otimização. Este é o recíproco de quadros / segundo; você não deve olhar quadros / segundo para fins de otimização, a menos que se lembre de que realmente existe essa relação não linear com a qualidade das suas otimizações. O link de Josh entra em grandes detalhes.
11
Estou aqui, mas framerate e fps não são "a mesma coisa". Literalmente, fps é uma unidade para medição da taxa de quadros. Assim como metros, é uma unidade para medir o comprimento.
18712 Laurent Couvidou
0

FPS = quadros por segundo. Um quadro é basicamente sua tela com algo desenhado nele. 60FPS significa que algo atrai sua tela 60 vezes em um segundo. Como nossos olhos (ou devo dizer, o córtex de processamento de imagens no cérebro) são limitados, se você desenhar algo muito rápido e movê-lo a cada vez - parece que ele se move para o nosso cérebro. É assim que os desenhos são feitos.

jcora
fonte
0

Um "quadro" está presente no ciclo do jogo:

while( game_running ):
    update()
    draw()

update () envolve coisas como

  • Lendo a entrada do usuário
  • Computando o inimigo próximos movimentos

draw () está apenas desenhando o estado atual do jogo, conforme calculado por update () .

Portanto, aqui um "quadro" é AMBOS um ciclo de atualização / desenho. O FPS (quadros por segundo) é uma medida aproximada de quantas vezes você pode executar o loop básico do jogo por segundo; portanto, é uma medida aproximada do desempenho do jogo .

Qualquer número de coisas pode ser o gargalo na taxa de quadros . Pode ser o código de IA intensivo da CPU. Podem ser suas rotinas de detecção de colisão antes de você adicionar um esquema de particionamento de espaço razoável. Pode ser a própria GPU .

Se ele contiver um solucionador de física preciso, ele precisará executar mais de uma etapa de iteração por "quadro" exibido (o CarSim, por exemplo, exige algo como 1000 iterações a cada 1/60 segundo, simplesmente para manter a estabilidade na solução).

bobobobo
fonte
2
-1 para acoplar necessariamente as taxas de atualização da exibição às taxas de atualização da lógica do jogo. Sua definição precisa funcionar. Por favor, informe-se primeiro ou você está potencialmente desinformando os outros. Isso geralmente é muito ruim para o desempenho e exclui imediatamente o uso de qualquer característica determinística da simulação, ou seja, cálculos físicos em tempo real adequados e recursos para vários jogadores, dependendo deles. Esses são os tipos de fundamentos que não são difíceis de entender nem implementar.
coordenador
Curiosamente, eu incluiria algo sobre isso, mas com o objetivo de explicar o que é um quadro , acho que isso é adequado. Vou acrescentar algo VIRTUAL SECONDmais tarde.
bobobobo
Terei prazer em remover o negativo assim que tiver.
coordenador
Não concordo totalmente com a sua resposta. Para usar seu próprio exemplo, os mecanismos de física geralmente rodam muito mais rápido, como 1000 vezes por segundo. Isso geralmente é expresso como 'o mecanismo de física roda a 1000 fps'. Eu definiria quadros por segundo como: 'quantas vezes todo o trabalho é feito por um determinado sistema por quadro'. Isso mantém a definição ampla o suficiente para ser aplicada também a mecanismos de física e outros subsistemas que rodam em seu próprio ritmo nos jogos. Espero que não seja muito vago.
Roy T.
-1, o terceiro parágrafo de Josh cobre o mesmo terreno de toda a sua resposta sem se prender a detalhes irrelevantes.