![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
|
вопрос возник следующий, очень много на самом деле обсуждали по поводу слушателей, что их хорошо бы зачищать иногда и прочее прочее прочее, хотя в некоторых случаях это либо не возможно либо просто нельзя дабы не нарушить работу самой флехи...
но вопрос вот в чем насколько завязаны слушатели и общая производительность, опять же известно что впринципи флешка может зачищать и их но это крайне непростой процесс, много ли они съедают памяти? может у кого были на эту тему исследования, замечания и прочее... |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
События съедают очень много памяти и крайне тяжелы (в плане производительности).
При разработки серьезных проектов события не используют, либо пишут свой аналог рассылки событий без создания тучи экземпляров классов и рассылка происходит целенаправленно, а не по иерархической цепочки как базовые события flash'a.
__________________
http://www.infinity3d-engine.com |
|
|||||
|
ну может я конечно не писал чего то такого действительно серьезного, но не сказал бы что бы события были слишком тяжелыми. если на одно событие 500 слушаетлей то конечно...) да и рассылка по всей иерархии происходит, если я ничего не путаю только в стадии пузырька. Да и потом, я думаю что сами собьытия все таки реализованы не на самом флеше, а являются частью плеера, что наталкиет опять таки на мысль что они достаточно быстры.
Цитата:
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
Цитата:
1) создайте 5000 Sprite; 2) нарисуйте в них что нибудь и добавьте на сцену: 3) подпишитесь на событие MOUSE_MOVE (можно и не подписываться, события и так будут рассылаться); 4) посмотрите FPS Сделайте тоже самое без подписки на событие и установите спрайтам mouseEnabled = false или замените Sprite на Shape и также посмотрите FPS ![]() Каждое событие создает экземпляр класса Event, а создание динамически экземпляров классов серьезно бьет по памяти и производительности. В данном тесте, мышиные события рассылаются еще к тому же чаше чем Fps ролика.
__________________
http://www.infinity3d-engine.com Последний раз редактировалось MonkDead; 13.08.2009 в 17:25. |
|
|||||
|
Регистрация: Oct 2006
Адрес: Москва
Сообщений: 889
|
каак интересно получается, если мы пишем серьезный проект то лучше вообще все возможные функции написать с нуля, даже слушателей.., помойму велосипедом пахнет, я думаю что в компании adobe знают по более нашего про всё это и расчитывали когда создавали пусть и глючную платформу
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
random13, катайтесь на велосипеде, а я покатаюсь на машине.
Не забываем, что flash платформа универсальна, а все универсальное работает медленнее чем целенаправленное. А вы знаете что половину методов flash, при расчетах динамически создает экземпляры классов (совершенно неоправданно).
__________________
http://www.infinity3d-engine.com Последний раз редактировалось MonkDead; 13.08.2009 в 17:35. |
|
|||||
|
Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
|
а я вообще всегда думал, что все эти слушатели да стандартные библиотеки для чайников.
ибо как правило они жрут (вес или ресурсы) больше чем могло было бы быть при написании с нуля. |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
Цитата:
Но если разрабатывается действительно качественный продукт, то пишем все с нуля, насколько это возможно. Цитата:
__________________
http://www.infinity3d-engine.com Последний раз редактировалось MonkDead; 13.08.2009 в 17:53. |
|
|||||
|
я думаю даже самописная реализация событий не даст хорошей производительности для 5000 спрайтов. да и сравнивать 5000 спрайтов с 5000 шейпов не правильно, я считаю, так как это разные вещи. Да и как вы правильно подметили с выключенными событиями мыши все будет побыстрей работать. Так что тут я думаю стоит задуматься больше не о том что это тормазнуто, а о правильности архитектуры. Хотя конечно правда ваша, в некоторых ситуациях флеш не так быстр как хотелось бы, а главное не так как можно было бы.
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 204
|
Цитата:
Цитата:
__________________
http://www.infinity3d-engine.com |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:15. |
|
|
« Предыдущая тема | Следующая тема » |
|
|