![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 12
|
Игра из разряда "Hidden Object Games"
Картина: Много клипов с растром (от 100 до 200 штук), при клике на предмет который есть в списке искомых, клип улетает в "корзину", при полете рендер тормозит, проц улетает под 100%. В состоянии покоя почти 0%, при быстром движении мышкой до 40% (курсор рисованый). Все лишние меню убрал из видимости игрового поля, так как _visible = false не исключает клип из рендера. Пробовал делать битмап с игрового поля и только потом пускать в полет, на много лучше, но во время съема битмапа есть миллисекундный зависон, на глаз не комфортно. Все эти тормоза на нетбуке и на машине с процем celeron 2,6 без HT, на более мощных машинах все ок. Вся графика растровая. Вопрос, как еще можно оптимизировать? P.S. Уменьшение предметов возможно, но это уже вопрос геймплея а не программирования. Вообще можно что-то с этим поделать или нет, вот что волнует. Использую mx.transitions.Tween, слышал что вроде тормознутый, но другие способы в лоб, не дают прироста производительности. |
|
|||||
|
Цитата:
В целом - глянуть на все это было бы неплохо.... Иначе тут можно развести дискуссию странци на 100... |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Попробуй другие твины. Под as2 есть caurina и greensock (tweenMax итп).
А ещё лучше перепиши на as3.
__________________
Отряд Котовскага |
|
|||||
|
Кстати у mx.transitions изинги более приятные. В гринсоке оно как-то не так красиво. Угловато.
Скорость кстати имхо одинаковая, а вот устойчивость работы у гринсока - в разы лучше. Добавлено через 1 минуту Кстати что есть ВНУТРИ передвигающегося клипа? Не хочу обидеть автора, но там не стоит делать 10-20 слоев с различной графикой, градиентами, прозрачностями, бленд-эффектами, листенерами, энтерфрэймами и там много чего еще, что может тормозить проц. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 12
|
Внутри клипа, два слоя - маска и png фон с альфа каналом. Не стал делать через getPixel() "пробивку" альфаканала что-бы добраться до нижележащего клипа, уже не помню почему. Питоном делаю маски все что не прозрачно в черный, прозрачность оставляю как есть, потом jsfl скриптом создаю клипы с указанными выше слоями, слой маски с png маской трейсю fl.getDocumentDOM().traceBitmap(1, 1, 'pixels', 'many corners'); и получаю клипы с реальным альфаканальным контуром а не только визуальным.
P.S. Все клипы такие а не только летящий, вся сцена собирается их XML файла, а XML и конечные *.png (ониже слои) из *.psd питоновским скриптом через GIMP. P.S. "Миллисекундный" я утрирую конечно но на глаз видно "стопорение" Последний раз редактировалось lunariusis; 21.01.2011 в 16:18. |
|
|||||
|
выложите FLA файл. с образцом такого клипа и методами, которые вы на него навешиваете при инициализации.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Может глупость скажу, но если сцена не меняется постоянно, то можно делать ее снимки при изменении, чтобы к моменту пролета уже был готовый снимок.
|
|
|||||
|
Модрон-ветеринар
|
У GreenSock есть страница, на которой сравнивается производительность разных твиновых движков.
Вот она http://www.greensock.com/tweening-speed-test/ Зайдите, оцените. В целом, трудно судить о том, что у вас не так, не видя хотя бы результатов. По вашему описанию происходящего там не должно быть тормозов.
__________________
Идите первым! Последний раз редактировалось mooncar; 21.01.2011 в 17:14. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 12
|
Простите FLA не вылажу (55 метров). А вот у rainbowrussia мне кажется мысль отличная! Я все таки склонен к тому что тут проблема не в твининге, пробовал просто onEnterFrame и менять на прямую x и y, таж фигня. Урезаю количество объектов, становится шустрее... Мне кажется попробую все таки снимать битмап по рецепту rainbowrussia. Могу выложить SWF но она уже тоже большая около 8-ми метров.
Добавлено через 10 минут html и swf - как есть с тормозами описаными выше, при входе в игру я снимаю битмап во время черноты экрана потом делаю прозрачным черноту потом убираю битмап, особо глазастые увидят ![]() http://www.******/view_storage/537363379916 Последний раз редактировалось lunariusis; 21.01.2011 в 19:14. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:32. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|