Um pouco relacionado a esta questão .
A idéia é garantir o mesmo comportamento físico, tanto quanto possível. Seria possível executar física de etapas de tempo fixo em um trabalhador da Web? A interface do usuário se atualizaria com uma taxa de atualização diferente / variável.
Alguém já tentou isso ainda?
physics
javascript
html5
Petteri Hietavirta
fonte
fonte
Respostas:
Eu encontrei esse experimento . Ele executa a física Box2d em um trabalhador da Web. Ainda não verifiquei detalhadamente como ele contorna os problemas mencionados nos comentários de Vincent Scheib.
fonte
Isso pode funcionar, por mais que
WebWorker
siga o padrão de observador , adocument
(página html do proprietário) só pode ouvir e postar mensagens para / de um trabalhador. A partir disso, existem algumas opções, eu acho. Em todos os casos, acho que você precisará encontrar uma maneira de determinar o FPS ideal do agente do usuário para otimizar as informações. Então você pode:document
item estará pronto para a resposta quando isso acontecer.document
para enviar uma mensagem ao trabalhador solicitando física no intervalo de tempox
; então, o trabalhador publicaria uma resposta (espero) logo após isso.onmessage
evento para impedir que vocêdocument
ouça quando não espera.Tenho certeza de que há outras coisas que eu perdi ou maneiras de lidar com as comunicações também. Estou ansioso por outras respostas sobre o assunto!
fonte
document
sempre deveria estar pronto para encontrar um fps razoável ou seguir a opção 2, em que o trabalhador não faz nada atédocument
pedir.Physijs usa um trabalhador da web. Ele cola a munição física com os objetos Three.js e os atualiza conforme necessário. Possui etapas de tempo fixo e fluido, acredito
fonte