Isso pode funcionar, por mais que WebWorker
siga o padrão de observador , a document
(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:
- Diga aos trabalhadores para postar mensagens nesses intervalos de tempo
- Desvantagem (ões): você deve assumir que o
document
item estará pronto para a resposta quando isso acontecer.
- Diga ao
document
para enviar uma mensagem ao trabalhador solicitando física no intervalo de tempo x
; então, o trabalhador publicaria uma resposta (espero) logo após isso.
- Desvantagem (ões): como todas as postagens e respostas são assíncronas, pode haver atrasos entre a solicitação e a resposta do trabalhador. Nesse caso, você também precisaria anular o
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!