Тут еще большой вопрос возникает, каким манером внедрять эффект -
- если файлом PTF то для каждого эффекта надо держать нехилый массив данных в памяти, а если эффектов несколько и подгружать их динамически, то будут ощутимые рывки в фпс (подгрузки даже маленьких файлов занимают на мобиле 0.5 секунды)
Я PTF-формат удалю в новой версии, так как большого толка от него нет. Может потом верну, когда в этом смысл появится.
- с другой стороны программный эммитер - это дело лучше, но насколько тяжела будет логика эммитера? как он будет сажть фпс? надо тестить конечно.
Обработка эмиттера сложная, т.е. чудес тут не бывает - большие возможности требуют дополнительных расчетов. Я, конечно, стараюсь всё делать оптимально, но очевидно, что если сделать очень примитивную систему частиц, то она будет работать быстрее.
Вообще оптимизировать тут надо не библиотеку, а конкретный спецэффект, т.е. при создании спецэффекта надо заранее думать о том, чтобы он будет использоваться на малопроизводительном оборудовании. Тут тот же самый принцип, что и с низкополигональными моделями.
Очень большую надежду я могу возложить на то что Вы пишете в нативном коде, в котором я довольно малоопытен, и за счет него есть предположение что просадки в фпс будут небольшими.
Я бы еще знал, что такое "нативный код"
Как результат теста могу сказать что простенькая система частиц у меня выдает такие результаты на телефоне (Galaxy S):
Java + OpenGL
1000 одновременных частиц
5 текстур
каждая частица выполняет при рендере два glTranslatef, два glRotatef, один glGetFloatv плюс пара легких формул
полный рендер занимает 0.08с(80мс)
По мне так это слишком долго, надежда только на Си.
Честно говоря, я не думаю, что Magic Particles даст лучшие результаты на телефоне. Единственное что... текстура должна быть одна, а не 5. Скорость сотового телефона я себе представляю с трудом, так как просто не увлекаюсь этим направлением. На ipad-е работает вполне нормально, а что там с телефоном будет понятия не имею.
На самом деле в сложных современных 3D-играх обычно количество частиц на экране в пределах 100. А за 1000 дизайнера выгонят с работы, потому что смысл в том, чтобы сделать оптимально. Правда, принцип создания спецэффектов в 3D не совсем такой же как в 2D.
Если Вашу программу уже использовал кто-либо в мобильных играх, нельзя ли узнать результативность ее?
Есть только на ipad:
http://itunes.apple.com/app/id384039204?mt=8Видео:
http://www.youtube.com/watch?v=b2HIqAgemi4Спецэффекты брались с PC без переделок, т.е. они те же самые, что и в PC-версии.
Так же были бы интересны Ваши мысли насчет всего что я написал, и если я выступлю как заказчик, в какой срок я могу расчитывать на врапер под Андроид?
Естественно, что сумма в 74 евро мне не очень интересна как оплата. Но теоретически сделать порт на андроид было бы полезно. Но заняться я этим смогу не ранее, чем выпущу новую версию официально. Потом можно подумать, что делать с андроидом. Кроме того, я могу лишь собрать библиотеку, не вдаваясь в тех. подробности сотовых телефонов, т.е. изучать Java ради этого у меня нет большого желания. Обычно я просто собираю саму библиотеку и отдаю заказчику, а он сам разбирается с враппером.