Yarn: "tick" ou "update" e quando usá-los?

Criado em 16 out. 2016  ·  14Comentários  ·  Fonte: FabricMC/yarn

discussion

Comentários muito úteis

Para mim, atualização significa que há um estado antigo que está desatualizado e deve ser atualizado para se tornar atual.
Um tique é mais específico do que uma atualização. Um tique é sempre chamado em intervalos regulares e verifica se a coisa precisa de uma atualização ou não. Em caso afirmativo, ele é atualizado.

Todos 14 comentários

Eu sinto que o tique descreve uma medida ao invés de uma ação. Um carrapato seria um bi-produto de uma atualização.

@darkhax Você pode explicar o que quer dizer com subproduto? Eu entendo a parte de medição de tempo disso. Um segundo é geralmente de 20 carrapatos e 10 carrapatos de redstone.

Devemos usá-lo como um verbo ("Assinale um repetidor de redstone.")?

Não gosto de atualização, atualização é muito genérica e pode significar uma série de coisas diferentes.

O tique-taque nos jogos é bastante conhecido.

Embora eu ache que devemos fazer uma distinção clara entre ticks completos e lerps de renderização parcial

Eu estou bem com qualquer um, desde que decidamos sobre o vocabulário que queremos usar e sejamos consistentes em usá-lo.

Para mim, atualização significa que há um estado antigo que está desatualizado e deve ser atualizado para se tornar atual.
Um tique é mais específico do que uma atualização. Um tique é sempre chamado em intervalos regulares e verifica se a coisa precisa de uma atualização ou não. Em caso afirmativo, ele é atualizado.

Estou com @mezz / @ryantheleach nisso, update é para atualizações de estado explícitas e tick é para coisas no loop do jogo.

Entre isso e o que o mezz disse (e o suporte para isso), acho que o mezz é uma abordagem justa a se tomar.

Concordar em carrapato

Existem 2 interpretações de detalhes distintas

a) ticks referem-se ao loop do jogo, eles acontecem a 20 Hz

  • tick é para invocações que acontecem exatamente uma vez a cada tick + objeto a menos que haja um obstáculo óbvio como ser descarregado ou ter optado por sair globalmente
  • atualização é qualquer outra coisa - pode avançar o estado interno, mas não precisa

Com isso, você pode confiar que o tick é um espelho do tick do cliente / servidor, bloqueia a "atualização" aleatoriamente ou por meio de agendamento.

b) ticks são incrementos de tempo de quantidade arbitrária / polling + gatilhos de atualização

  • ticks são para qualquer invocação de tempo de repetição atrasada
  • as atualizações geralmente são apenas para eventos que têm uma causa específica / solicitação explícita

Com isso, existem "tiques" aleatórios, mas as "atualizações" programadas são bastante confusas. Às vezes, eles atendem à definição do tick por meio do reescalonamento consistente.

Eu prefiro ir para (a). Um "tique" é claramente definido no lado do servidor, um pouco menos no lado do cliente, mas em geral eu prefiro que (b).

: +1: para carrapato

tick soa bem para mim

"update" está muito sobrecarregado. Eu vi isso como se referindo a marcar algo no lado do servidor, ou para sincronizar os dados do lado do servidor para o cliente, ou para redesenhar algo no cliente (seja em resposta a uma sincronização do servidor ou um efeito de simulação local), ou para buscar novas versões de arquivos de um servidor de arquivos. Eu gostaria de nunca mais ver isso.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Sollace picture Sollace  ·  5Comentários

asiekierka picture asiekierka  ·  4Comentários

enbrain picture enbrain  ·  4Comentários

Runemoro picture Runemoro  ·  4Comentários

Boundarybreaker picture Boundarybreaker  ·  3Comentários