Показать сообщение отдельно
Старый 26.10.2012, 13:30
uglan вне форума Посмотреть профиль Отправить личное сообщение для uglan Посетить домашнюю страницу uglan Найти все сообщения от uglan
  № 1  
Ответить с цитированием
uglan

Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
Отправить сообщение для uglan с помощью ICQ Отправить сообщение для uglan с помощью Skype™
По умолчанию Траектории взаимодействий физ.объектов(Nape, Box2D) оптимизация

Всем привет!

Есть некая сцена с падающими по разным траекториям физ объектами. Задача: отрисовать траектории объектов сцены до того как они начнут непосредственно взаимодействовать) После запуска симуляции нарисованные траектории и движения объектов должны совпадать.

Cейчас для просчета и симуляции используется Nape(в Box2D на просчет уходит в 10 раз больше времени, 300ms против 30); Просчет производится следующим образом создается копия сцены со всеми объектами ускоряется симуляция space.step() в цикле и относительно позиций объектов рисуются траектории в спрайте. По окончанию цикла объекты удаляются и запускается симуляция физики уже в реальном времени. Объекты повторяют нарисованные траектории т.к. сцены идентичны. Все вроде бы хорошо. НО! Проблема в том что есть объекты учитывающие положение курсора мыши, и соответственно траектории должны быть изменены на каждую новую позицию. На каждый перепросчет уходит по 30 ms, и в динамике это выходит очень много.

Вопрос: Как можно оптимизировать данную процедуру? Чтобы снизить время просчета хотя бы до 1-2 ms. Есть идеи?

Спасибо!

p.s. Восстановление положения объектов на старте вместо повторного создания ускоряет процесс на ~10 ms, но появляются большие погрешности т.к. объекты участвуют в симмуляции на момент восстановления и их позиции варьируются на каждый step.
__________________
uglan