Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.01.2011, 13:40
lunariusis вне форума Посмотреть профиль Отправить личное сообщение для lunariusis Найти все сообщения от lunariusis
  № 1  
Ответить с цитированием
lunariusis
 
Аватар для lunariusis

Регистрация: Feb 2006
Сообщений: 12
По умолчанию AS2 тормоза при полете клипа (mx.transitions.Tween)

Игра из разряда "Hidden Object Games"
Картина:
Много клипов с растром (от 100 до 200 штук), при клике на предмет который есть в списке искомых, клип улетает в "корзину", при полете рендер тормозит, проц улетает под 100%.
В состоянии покоя почти 0%, при быстром движении мышкой до 40% (курсор рисованый).
Все лишние меню убрал из видимости игрового поля, так как _visible = false не исключает клип из рендера.
Пробовал делать битмап с игрового поля и только потом пускать в полет, на много лучше, но во время съема битмапа есть миллисекундный зависон, на глаз не комфортно.
Все эти тормоза на нетбуке и на машине с процем celeron 2,6 без HT, на более мощных машинах все ок.
Вся графика растровая.
Вопрос, как еще можно оптимизировать?

P.S. Уменьшение предметов возможно, но это уже вопрос геймплея а не программирования.
Вообще можно что-то с этим поделать или нет, вот что волнует.
Использую mx.transitions.Tween, слышал что вроде тормознутый, но другие способы в лоб, не дают прироста производительности.

Старый 21.01.2011, 14:39
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Цитата:
миллисекундный зависон, на глаз не комфортно
Ничего так глаз-алмаз...
В целом - глянуть на все это было бы неплохо.... Иначе тут можно развести дискуссию странци на 100...
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 21.01.2011, 14:51
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 3  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Попробуй другие твины. Под as2 есть caurina и greensock (tweenMax итп).
А ещё лучше перепиши на as3.
__________________
Отряд Котовскага

Старый 21.01.2011, 14:56
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 4  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Кстати у mx.transitions изинги более приятные. В гринсоке оно как-то не так красиво. Угловато.
Скорость кстати имхо одинаковая, а вот устойчивость работы у гринсока - в разы лучше.

Добавлено через 1 минуту
Кстати что есть ВНУТРИ передвигающегося клипа?
Не хочу обидеть автора, но там не стоит делать 10-20 слоев с различной графикой, градиентами, прозрачностями, бленд-эффектами, листенерами, энтерфрэймами и там много чего еще, что может тормозить проц.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 21.01.2011, 16:11
lunariusis вне форума Посмотреть профиль Отправить личное сообщение для lunariusis Найти все сообщения от lunariusis
  № 5  
Ответить с цитированием
lunariusis
 
Аватар для lunariusis

Регистрация: 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.
Старый 21.01.2011, 17:05
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 6  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
выложите FLA файл. с образцом такого клипа и методами, которые вы на него навешиваете при инициализации.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 21.01.2011, 17:08
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 7  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Может глупость скажу, но если сцена не меняется постоянно, то можно делать ее снимки при изменении, чтобы к моменту пролета уже был готовый снимок.

Старый 21.01.2011, 17:12
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
У GreenSock есть страница, на которой сравнивается производительность разных твиновых движков.
Вот она
http://www.greensock.com/tweening-speed-test/
Зайдите, оцените.
В целом, трудно судить о том, что у вас не так, не видя хотя бы результатов. По вашему описанию происходящего там не должно быть тормозов.
__________________
Идите первым!


Последний раз редактировалось mooncar; 21.01.2011 в 17:14.
Старый 21.01.2011, 19:02
lunariusis вне форума Посмотреть профиль Отправить личное сообщение для lunariusis Найти все сообщения от lunariusis
  № 9  
Ответить с цитированием
lunariusis
 
Аватар для lunariusis

Регистрация: 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, время: 18:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.