![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2005
Сообщений: 29
|
Интересно как работает Listener? это какая-то функция, висящая onEnterFrame или что-то по-хитрее?
|
|
|||||
|
Хых, я выбираю вариант б)
Цитата:
__________________
+ |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Вас интересует дамп участка кода в памяти, где расположен Listener, изложенный на языке ассемблера?
![]() Ну а вообще Listener это объект призваный получать уведомление о наступлении какого-либо события другого объекта. Если Вы знакомы с концепцией сообщений Windows, то я думаю технология прослушивания событий во Флеше будет Вам понятна.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Listener — это метафизическое понятие, вбитое хелпом в голову начинающим флешерам. Listener — это такой обыкновенный объект-помойка, у которого объявлены с определенным именем методы, которые вызываются тем объектом, который, собственно, «слушают». На деле этот Listener — мусор, бессмысленный объект. Последняя стадия заплывших мозгов — создавать такой объект, а потом вешать на него делегаты методов на this.
|
|
|||||
|
Цитата:
Мне кажется автора топика скоре всего интересует сам механизм листенерства, то есть, его мучает сомнения по поводу загруженности процессорного времени. Для получения сообщения листенер должен опрашивать: "А не поменялось что-либо у вас? А не произошло ли событие какое-нибудь?" То есть в итоге схожесть на так не любимый всеми EnterFrame, а может как раз и сам EnterFrame реализован в методах листенера! Расплодив листенеры возможно ли тормознуть программу? В ответах даны определения и оценка Listener. Но, может я ошибаюсь и вы и __etc уже дали удовлетворительный ответ. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Привет Жень Шень! То что Вы зацитировали это всего лишь шутка и я никоим образом нехотел обидеть Вас и автора! Дело в том, что вопрос листенерства настолько обширен и щекотлив, что даже уходит своими корнями в латентные механизмы организации сообщений в Windows! И да простят меня великие WinAPI- программисты! Но поверхностно, не в даваясь в подробности алхимии Windows, а касаясь только части реализации концепции организации сообытий и их отлова во Флеш, можно и по дискутировать. Ведь это будет полезно не только нашему уважаемому автору, но и другим заинтересованным в данном вопросе участникам форума.
Если Вы еще не знакомы с концепцией сообщений Windows - в двух словах, есть конвейр, в который вталкиваются некие сообщения - какие-либо системные события (например клик левой кнопки мыши). Каждое сообщение ждет своей обработки в соотвествии с выстроевшейся очередью. Безусловно, излишество в наступивших сообщениях в ситеме сказывается на производительности всей системы. Эту гипотезу не трудно проверить, если создать какой-нибудь периодически выполняющийся код с таймером и замерять время выполнения кода в каждом цикле при , например, активном движении мыши и без него.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 29
|
Вообще да, хотелось бы понять насколько сильно загружается система от повышения кол-вов Listener ?
Цитата:
|
|
|||||
|
Привет!
Упаси Бог обижаться! Мне приятно читать ваши коменты и стиль вашего общения. Просто я так понял автора и, кстати, самому стал интересен механизм листенерства. Добавлено. Автор "узаконил" мою догадку. Последний раз редактировалось Жень Шень; 05.08.2008 в 12:29. |
|
|||||
|
Цитата:
И да, во флеше сообщения устроены немного по другому. Хотя последовательное выполнение кода никто не отрицает. Паралельные вычисления флешной виртуальной машине врятли грозят. Да и не нужны. Чтобы узнать - как устроены сообщения и слушатели во флеше, погуглите по поводу AsBroadcaster и будет вам счастье. Например давняя статья потрошителя. Или еще много чего полезного. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|