JPhysics aka Jitter

Проекты в стадии разработки.

JPhysics aka Jitter

Сообщение pod4444 21 июн 2013, 16:41

Вообщем передо мной встала вполне интересная задача: managed физический движок.
В начале своего пути я копал в сторону Bullet, но порты под .Net оказались кривыми и совершенно непроизводительные: никаких расчетов на GPU,относительно настоящего Bullet; отсутствие мультитрединга, если уж на CPU; да и вообще написаны индусами.
Вариант с враппером был неплох, но это только x86 и забудем о мультиплатформенности. Да, можно компилить буллет под каждую платформу, но это гемор и все преимущества пропадут.

Под мою горячую руку попала интересная библиотечка с названием Jitter, перечислим ее плюсы:

• Every platform which supports .NET/Mono

• Also supports the XBox360 and the WindowsPhone (там некоторые оптимизации в плане мультитрединга)

• Written in pure C# with a clean and object orientated API

• Optimized for low to no garbage collections and maximum speed

• Supported Shapes: TriangleMesh, Terrain, Compound, MinkowskiSum, Box, Sphere, Cylinder, Cone, Capsule, ConvexHull

• Take advantage of multi-core CPUs by using the internal multithreading of the engine

А так же рейкасты, мягкие(упругие) тела, ткани. Если у PhysX CapsuleCast, SphereCast, то в Jitter Вы можете делать каст любым мешем.
Из плюсов лаги физики никак не отражаются на Вашей игре, только если Вы не загрузите процессор под завязку(это трудно сделать).

По производительности можете посмотреть в демке:
http://incubegames.ru/publish/Jitter/WebBuild.html

(на правую кнопку управлять камерой + WASD полет)

Пока продолжаю копать.
Последний раз редактировалось pod4444 30 июн 2013, 15:45, всего редактировалось 2 раз(а).
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Jitter managed физика

Сообщение gnoblin 21 июн 2013, 18:27

(3A4OT)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Jitter managed физика

Сообщение Diab10 21 июн 2013, 19:48

Офигеть. В демке через физикс со всеми кубами - 3 ФПС, а с этой физикой - 24 ФПС
(3A4OT)

А что значит managed физика?)
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Jitter managed физика

Сообщение Neodrop 21 июн 2013, 20:06

Вот ещё демка.
Jitter не плох, но проект давно заморожен.

Кстати, ничего особо фантастического в производительности. По моим тестам, на 4х ядерном CPU можно получить прирост в 2-3 раза, против PhysX. Ну, может в 4 раза максимум. Но это при загрузке всех камней под завязку. Правда, есть бонус - ничего не стоит повысить точность вычислений на порядок, заменив все float на double. Для игр не нужно, но для каких-нить симуляций очень даже интересно.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8481
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Jitter managed физика

Сообщение pod4444 21 июн 2013, 20:22

Diab10 писал(а):Офигеть. В демке через физикс со всеми кубами - 3 ФПС, а с этой физикой - 24 ФПС
(3A4OT)

А что значит managed физика?)

управляемая библиотека значит, для .Net. ее можно сбилдить на любой платформе Unity
просадка по фпс кстати не из-за физики, а из-за обновление трансформа в количестве 4к штук
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Jitter managed физика

Сообщение 46165957 24 июн 2013, 10:05

Джиттер на всех 9 группах показывает 40-50 фпс, но при этом сам кубики дергаются на 5-7 фпс... странненько.
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Jitter managed физика

Сообщение pod4444 24 июн 2013, 10:57

46165957 писал(а):Джиттер на всех 9 группах показывает 40-50 фпс, но при этом сам кубики дергаются на 5-7 фпс... странненько.

да, есть такое, я кое что намудрил с просчетами физики, сейчас идет обсчет с 15-20 фпс и видно дерганья
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: JPhysics

Сообщение pod4444 30 июн 2013, 15:45

News
Вообщем я потратил много времени копая эту библиотеку. Проанализировал, что можно выжать еще для скорости и прочее. Нашел медленные участки, точнее причины потери производительности при росте количества объекта и устранил эти проблемы, осталось оформить в такой же приятное объектной стилистике, как вся остальная библиотека.

Теперь я буду развивать эту библиотеку в плане плотной интеграции с Unity.
На моем компе десятки тысяч объектов спокойно держаться без лагов, что конечно радует и это точно выигрыш не в х2, а гораздо больше.
Процессор пока что нагружал только до ~40% (4 физ ядра по 2 логических на каждого)
В игре конечно нет столько активных объектов, но мне хочется выжать максимум возможного, кому-нибудь да понадобится.
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: JPhysics aka Jitter

Сообщение trololoid 21 июл 2013, 13:40

Вы выложите вашу версию? ;;)
Аватара пользователя
trololoid
Старожил
 
Сообщения: 712
Зарегистрирован: 15 сен 2011, 19:18
Откуда: Туапсе, Краснодарский край, Россия

Re: JPhysics aka Jitter

Сообщение Neodrop 21 июл 2013, 15:49

У меня не хватило времени и желания закопаться так глубоко. С любопытством наблюдаю за вашей работой. Удачи.
(3A4OT)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8481
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: JPhysics aka Jitter

Сообщение MorfeusKiev 24 июл 2013, 12:52

На мой взгляд PhysX никогда не был экономный. Библиотека которая разрабатывалась изначально вообще на отдельную железку, а потом переработанная под GPU, и плевать Nvidia хотели на оптимизацию по CPU (личное мнение). Хотя это просто возгласы в воздух, я считаю что использовать библиотеку PhysX можно либо по лени (готовые методы), либо когда не интересует высочайшая производительность. В дополнение написать что сами юнитеки прикрутили к Unity3d скорее как костыль, да еще и старой версии, чем как полноценная физика. Только и читаешь на этом форуме как сотня, другая, людей пишут как сделать то не используя физики.

Огромнейший респект =) Много объектов не бывает. Прикрутите эту физику!!! Сделайте потом аддон на разрушение внутриигровых предметов и запросто продайте на Ассет Сторе. Шикарно будет.
MorfeusKiev
UNITрон
 
Сообщения: 238
Зарегистрирован: 22 июл 2012, 22:01


Вернуться в Кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1