![]() |
|
||||||||||
|
|
|
|||||
|
камрады, просветите плизз по поводу возможности использования флешы для разработки игр.
интересует производительность. к примеру: изометрическая 2Д стратегия. размер карты в 10 раз больше видимой области: предположительно экран 800х600. несколько тысяч юнитов: - пара сотен с растровой анимацией и - все остальное статические: деревья, здания и пр... террайн тайловый. собирается из тайловых клеток. вся мапа 256х256 клеток. в экран умещается область 25х25 клеток. начал писать на своем изометрическом движке на С++, но задумался в сторону флеши ибо потом есть намерение попробовать её пристроить в какую нить социальную сеть. для winapp будет сделать это на порядок сложнее. зы конечно не стракрафт будет но в принципе в первом приближении можно сказать что 50% от старкрафта по сложности и геймплею.
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
флешы, флеши - в мемориз...
__________________
"I am the terror that flaps in the night…!" |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Производительность будет низкая. Очень. Особенно по сравнению с cpp.
|
|
|||||
|
насколько низкая?
возможно ли оптимизация: к примеру не рисовать то что не в frustum.
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
На порядок, примерно. Рендер у флеша крайне медлителен. А без обрезки у вас и так ничего не заведется.
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Какой frustum в 2D? Проблема не в том, чтобы не рисовать то, что не в кадре (это само собой разумеется), а в том, что Flash выводит всё чисто программно, не используя аппаратное ускорение, и в том, что AS значительно медленнее, чем код на C++ или Pascal.
Вы лучше подумайте не о графике, а о том-же поиске пути для ваших тысяч юнитов. Или просто поищите среди Flash игр хоть что-нибудь подобное тому, что хотите сделать - если найдёте, будете точно знать, что возможно. Я пока не встречал ничего ни на уровне Starcraft, ни половины от него. |
|
|||||
|
Цитата:
Цитата:
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Цитата:
То есть, вы точно знаете, что достаточно быстрый для RTS (как я понимаю из упоминания Starcraft) поиск пути для тысяч юнитов на Flash не проблема? Тогда о чём вы спрашиваете в этой теме вообще? |
|
|||||
|
Цитата:
там есть пример изометрии 10х10 клеток и существо по ним бегает. запустил - всё шутсро бегает. влез в код и поставил 200х200 и всё сдохло, фпс где то в районе 1 кадр в минуту. я о такой производительности говорю. 200х200 клеток это вывод 4000х тысяч тайлов. из них четверть гарантированно попадает в область видимости ( frustrum по инерции ее называю ). Флеша я до сиго момента касадся пару раз и очень поверхностно и тонкостей не знаю. У себя в с++ движке Я контролирую порядок отрисовки и я решаю что рисовать а что не рисовать, в флеше я вообще ничего похожего на функцию render() не нашел :-) и моск не понимает как там вообще все рисуется. тупо вообще все что есть на сцене или как то можно таки оптимизировать и перед отрисовкой управлять контентом - это рисуем а это нафиг ибо вне зоны видимости?
__________________
fast restart: *((int*)0) = 0; |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Если у вас AS3 и растровая графика, то вывод лучше делать через copyPixels, то есть через копирование прямоугольников из одного изображения в другое. В итоге всё копируется на единственное изображение, находящееся на сцене. Это отдалённо напоминает direct draw, и вы будете контролировать, что, куда и сколько рисовать. Можно почитать здесь (там много статей на эту тему).
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:45. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|