
26.10.2012, 13:30
|
|
Регистрация: Mar 2003
Адрес: moscow
Сообщений: 102
|
Траектории взаимодействий физ.объектов(Nape, Box2D) оптимизация
Всем привет!
Есть некая сцена с падающими по разным траекториям физ объектами. Задача: отрисовать траектории объектов сцены до того как они начнут непосредственно взаимодействовать) После запуска симуляции нарисованные траектории и движения объектов должны совпадать.
Cейчас для просчета и симуляции используется Nape(в Box2D на просчет уходит в 10 раз больше времени, 300ms против 30); Просчет производится следующим образом создается копия сцены со всеми объектами ускоряется симуляция space.step() в цикле и относительно позиций объектов рисуются траектории в спрайте. По окончанию цикла объекты удаляются и запускается симуляция физики уже в реальном времени. Объекты повторяют нарисованные траектории т.к. сцены идентичны. Все вроде бы хорошо. НО! Проблема в том что есть объекты учитывающие положение курсора мыши, и соответственно траектории должны быть изменены на каждую новую позицию. На каждый перепросчет уходит по 30 ms, и в динамике это выходит очень много.
Вопрос: Как можно оптимизировать данную процедуру? Чтобы снизить время просчета хотя бы до 1-2 ms. Есть идеи?
Спасибо!
p.s. Восстановление положения объектов на старте вместо повторного создания ускоряет процесс на ~10 ms, но появляются большие погрешности т.к. объекты участвуют в симмуляции на момент восстановления и их позиции варьируются на каждый step.
__________________
uglan
|