Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Como usar delta time?

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Ark
Membro
Membro
Reações: 0
Mensagens: 39
Localização: Rio de Janeiro

Como usar delta time?

Mensagem por Ark » Sex Jun 03, 2016 6:27 pm

Alguém pode explicar como usar delta time para garantir fps sólidos em qualquer PC ?

Avatar do usuário
Markito
Colaborador
Colaborador
Reações: 0
Mensagens: 50

Re: [Pedido] Alguem explicar Delta Time

Mensagem por Markito » Sex Jun 03, 2016 11:49 pm

O delta time é um valor fracionário com a diferença de tempo em segundos (ou millisegundos, microsegundos, depende da engine) que o frame anterior levou para ser executado. Multiplicando o deltatime por uma constante de movimento, por exemplo, vai mover a quantidade de pixels adequada a performance do jogo. Quanto se trabalha com delta time, a constante de movimento (como em x+=4) é maior, sendo x+= 400 * delta_time. O valor maior vem da pergunta "quantos pixels o personagem se moveria 1 segundo?". Num update sincronizado (vsync) de 60 frames por segundo, por exemplo, tem-se o cálculo:
tempo em segundos = 1/frames
tes = 1/60 = 0.016
Se o deltatime do frame atual for 0.016, significa que o jogo executou 60 frames por segundo por completo. Multiplicando isso pela constante 400 dada anteriormente, ficaria 400*0.016 = 6.6. Se o deltatime fosse de 1 segundo, o cálculo iria compensar e mover os 400 pixels de uma vez :surpreso: A sensação em movimento dependendo do FPS seria diferente, rapidez ou lentidão, mas o espaço percorrido seria o mesmo.

No Game Maker, por exemplo,  a variável usada é delta_time e ela é medida em microssegundos, que é a milionésima parte de um segundo. Eu particulamente gosto de trabalhar com o delta em segundos, pois ele fica fracionário, então eu teria que dividir o delta_time por um milhão para poder obter esse valor: dt_sec = delta_time/1000000 :yes:
Editado pela última vez por Markito em Sex Jun 03, 2016 11:50 pm, em um total de 1 vez.

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot], Bing [Bot] e 1 visitante