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

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

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

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
По умолчанию производительность и слушатели

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

но вопрос вот в чем насколько завязаны слушатели и общая производительность,
опять же известно что впринципи флешка может зачищать и их но это крайне непростой процесс, много ли они съедают памяти? может у кого были на эту тему исследования, замечания и прочее...

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

Регистрация: Dec 2007
Сообщений: 204
События съедают очень много памяти и крайне тяжелы (в плане производительности).
При разработки серьезных проектов события не используют, либо пишут свой аналог рассылки событий без создания тучи экземпляров классов и рассылка происходит целенаправленно, а не по иерархической цепочки как базовые события flash'a.

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
ну может я конечно не писал чего то такого действительно серьезного, но не сказал бы что бы события были слишком тяжелыми. если на одно событие 500 слушаетлей то конечно...) да и рассылка по всей иерархии происходит, если я ничего не путаю только в стадии пузырька. Да и потом, я думаю что сами собьытия все таки реализованы не на самом флеше, а являются частью плеера, что наталкиет опять таки на мысль что они достаточно быстры.

Цитата:
нельзя дабы не нарушить работу самой флехи
а зачем их тогда удалять? не сказал бы что сложно. Достаточно порядка в коде что бы все было окей. И для вашего случая(мне показалась для ваших полилиний), тормознутости событий вы не заметите

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

Регистрация: Dec 2007
Сообщений: 204
Цитата:
но не сказал бы что бы события были слишком тяжелыми
Для теста:
1) создайте 5000 Sprite;
2) нарисуйте в них что нибудь и добавьте на сцену:
3) подпишитесь на событие MOUSE_MOVE (можно и не подписываться, события и так будут рассылаться);
4) посмотрите FPS

Сделайте тоже самое без подписки на событие и установите спрайтам mouseEnabled = false или замените Sprite на Shape и также посмотрите FPS

Каждое событие создает экземпляр класса Event, а создание динамически экземпляров классов серьезно бьет по памяти и производительности.
В данном тесте, мышиные события рассылаются еще к тому же чаше чем Fps ролика.


Последний раз редактировалось MonkDead; 13.08.2009 в 17:25.
Старый 13.08.2009, 17:24
random13 вне форума Посмотреть профиль Отправить личное сообщение для random13 Найти все сообщения от random13
  № 5  
Ответить с цитированием
random13
 
Аватар для random13

Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
каак интересно получается, если мы пишем серьезный проект то лучше вообще все возможные функции написать с нуля, даже слушателей.., помойму велосипедом пахнет, я думаю что в компании adobe знают по более нашего про всё это и расчитывали когда создавали пусть и глючную платформу

Старый 13.08.2009, 17:28
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 6  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
random13, катайтесь на велосипеде, а я покатаюсь на машине.

Не забываем, что flash платформа универсальна, а все универсальное работает медленнее чем целенаправленное.
А вы знаете что половину методов flash, при расчетах динамически создает экземпляры классов (совершенно неоправданно).


Последний раз редактировалось MonkDead; 13.08.2009 в 17:35.
Старый 13.08.2009, 17:46
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 7  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
а я вообще всегда думал, что все эти слушатели да стандартные библиотеки для чайников.
ибо как правило они жрут (вес или ресурсы) больше чем могло было бы быть при написании с нуля.

Старый 13.08.2009, 17:48
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 8  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
Цитата:
а я вообще всегда думал, что все эти слушатели да стандартные библиотеки для чайников.
Я не стал бы так категорично высказываться, есть много проектов где не так критична производительность, а вот время разработки более важный параметр.
Но если разрабатывается действительно качественный продукт, то пишем все с нуля, насколько это возможно.

Цитата:
ибо как правило они жрут (вес или ресурсы) больше чем могло было бы быть при написании с нуля.
Dezar, у меня как вы поняли такое же представление.


Последний раз редактировалось MonkDead; 13.08.2009 в 17:53.
Старый 13.08.2009, 17:50
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 9  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
я думаю даже самописная реализация событий не даст хорошей производительности для 5000 спрайтов. да и сравнивать 5000 спрайтов с 5000 шейпов не правильно, я считаю, так как это разные вещи. Да и как вы правильно подметили с выключенными событиями мыши все будет побыстрей работать. Так что тут я думаю стоит задуматься больше не о том что это тормазнуто, а о правильности архитектуры. Хотя конечно правда ваша, в некоторых ситуациях флеш не так быстр как хотелось бы, а главное не так как можно было бы.

Старый 13.08.2009, 18:01
MonkDead вне форума Посмотреть профиль Отправить личное сообщение для MonkDead Посетить домашнюю страницу MonkDead Найти все сообщения от MonkDead
  № 10  
Ответить с цитированием
MonkDead
 
Аватар для MonkDead

Регистрация: Dec 2007
Сообщений: 204
Цитата:
я думаю даже самописная реализация событий не даст хорошей производительности для 5000 спрайтов.
Даст и более чем в 10 раз.

Цитата:
Так что тут я думаю стоит задуматься больше не о том что это тормазнуто, а о правильности архитектуры
Да и забить вообще на эти flash контейнеры и пользоваться одной математиком, тем самым увеличив общую производительность в сравненни с базовыми возможностями flash уже более чем в 20 раз.

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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