Frames Per Second - FPS
Frames Per Second(FPS) é um termo utilizado para determinar a quantidade de quadros ou animações renderizados em um segundo. Em jogos digitais, 60FPS é uma boa taxa de renderização, sendo 30FPS um mínimo aceitável para manter uma qualidade razoável no jogo.
Um jogo que opera a uma taxa de 60FPS implica que a cada segundo temos 60 frames renderizados. Ao dividirmos 1 por 60, obtemos aproximadamente 0,0166666, isso significa que cada frame precisa ser renderizado em apenas 0,0166666 de segundo, é um tempo muito pequeno, então para facilitar a vida é melhor trabalhar com uma outra unidade de tempo, o milissegundos. 1 segundo equivale a 1000 milissegundos, o que significa que 0,0166666 de segundo é aproximadamente igual a 16,666666 Milissegundos, basta multiplicar 0,166666 por 1000. Então podemos afirmar que em um jogo a uma taxa de 60FPS tem aproximadamente 16,66666 Milissegundos para renderizar cada frame. A Listagem 1 mostra a implementação de FPS em JavaScript.
Listagem 1
Nas linhas 21 e 25 temos uma chamada ao método requestAnimationFrame, esse método normalmente é invocado pelo navegador a uma taxa de 60FPS, mas é claro que em uma máquina lenta essa taxa pode ser menor da mesma forma que em uma máquina rápida essa taxa pode ser maior. Além disso, essa chamada a 60FPS depende também da quantidade de operações realizadas antes da próxima invocação a requestAnimationFrame, pois como descrito anteriormente, haverá apenas 16,66666 Milissegundos para realizar todas as atualizações e renderizações antes do próximo frame. Se para as operações de atualização e renderização o tempo limite de 16,66666 Milissegundos é superado, então temos uma queda na taxa de 60FPS, caso contrário, podemos até ter um aumento na taxa, quem sabe indo para 72FPS.
O projeto com o código apresentado pode ser baixado aqui.
Comentários
Postar um comentário