Немного связано с этим вопросом .
Идея состоит в том, чтобы гарантировать такое же физическое поведение в максимально возможной степени. Можно ли запустить физику с фиксированным шагом по времени для веб-работника? Пользовательский интерфейс будет обновляться с другой / переменной частотой обновления.
Кто-нибудь еще пробовал такое?
physics
javascript
html5
Петтери Хиетавирта
источник
источник
Ответы:
Я нашел этот эксперимент . Он запускает физику Box2d на веб-работника. Я еще не проверил подробно, как это обойти проблемы, упомянутые в комментариях Винсента Шейба.
источник
Это может сработать, однако,
WebWorker
следуя шаблону наблюдателя ,document
(html-страница, которой принадлежит работник) может только слушать и отправлять сообщения работнику. От этого, я думаю, есть несколько вариантов. Во всех случаях, я думаю, вам нужно будет найти способ определить оптимальный FPS пользовательского агента для оптимизации информации. Тогда вы можете либо:document
будет готов к ответу, когда это произойдет.document
чтобы работник отправлял сообщение с запросом физики через определенный промежуток времениx
, а затем работник вскоре после этого отправит ответ (надеюсь).onmessage
событие, чтобыdocument
оно не слушалось, когда оно не ожидается.Я уверен, что есть другие вещи, которые я пропустил, или способы справиться с коммуникациями. Я буду с нетерпением ждать других ответов на эту тему сам!
источник
document
всегда быть готовым, найдя разумный fps, либо перейти к варианту 2, где работник ничего не делает, пока неdocument
попросит об этом.Physijs использует веб-работника. Он склеивает физику боеприпасов с объектами Three.js и обновляет их по мере необходимости. Я полагаю, что он имеет фиксированные и плавные временные шаги
источник