Movimento baseado no tempo Vs Movimento baseado na taxa de quadros?


8

Eu sou iniciante em programação de jogos e SDL, e tenho acompanhado os tutoriais sobre SDL da Lazyfoo . Minha pergunta está relacionada ao movimento baseado no tempo e ao movimento baseado na taxa de quadros, basicamente o que é melhor ou apropriado, dependendo das situações ?. Você poderia me dar um exemplo em que cada um desses métodos é usado?

Outra pergunta que tenho é que, nos dois tutoriais de movimento do lazyfoo ( baseado em FPS e baseado em tempo ), o método baseado em tempo mostrou uma animação muito mais suave, enquanto o baseado na taxa de quadros foi um pouco complicado, o que significa que você pode ver claramente a diferença entre o local anterior do ponto e sua posição atual quando você compara os dois programas.

Como iniciante, em que método devo seguir? (Tudo o que quero são animações suaves).


Respostas:


16

O que está sendo mostrado como "baseado em FPS" existe. . . bem, basicamente, é horrível. Está atribuindo a velocidade do jogo ao desempenho de um computador em particular. Se você atualizar para um computador rápido e agradável, seu jogo rodará repentinamente em velocidade turbo; se você fizer o downgrade para um computador mais lento, estará trabalhando em slo-mo.

A escolha real é o tempo fixo versus o tempo variável, e nesse momento irei adiar para este excelente post, que tem grande profundidade.


Não apenas as coisas se movem rápido ou devagar, dependendo do computador em que está sendo executado, mas todas as animações se movem na mesma velocidade - o que significa que algumas animações são executadas super rápido, enquanto outras são um pouco mais lentas, fazendo com que pareça realmente estranho .
ShrimpCrackers

mas o limite da taxa de quadros não será responsável por isso?
silencioso

@ sil3nt, apenas até você estar executando em alguém com um computador inesperadamente lento ou até começar a usar CPU suficiente para ficar abaixo do limite de taxa de quadros.
ZorbaTHut

Portanto, o método baseado na taxa de quadros é bom se o computador em que o programa está sendo executado puder lidar com o FPS?
silencioso

@ sil3nt, sim, se você pode garantir que o computador sempre pode lidar com o FPS, e você tem uma maneira confiável de bloquear essa taxa de quadros. Isso é suficiente para qualificar que eu hesitaria muito em usá-lo, especialmente com o quão simples é o tempo fixo.
ZorbaTHut
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.