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

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

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

Регистрация: Nov 2005
Сообщений: 29
По умолчанию как устроен Listener?

Интересно как работает Listener? это какая-то функция, висящая onEnterFrame или что-то по-хитрее?

Старый 05.08.2008, 00:51
Kamchatka вне форума Посмотреть профиль Отправить личное сообщение для Kamchatka Найти все сообщения от Kamchatka
  № 2  
Ответить с цитированием
Kamchatka

Регистрация: May 2008
Адрес: Keytown
Сообщений: 94
Отправить сообщение для Kamchatka с помощью ICQ
Хых, я выбираю вариант б)
Цитата:
что-то по-хитрее
__________________
+

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

Регистрация: May 2008
Сообщений: 476
Вас интересует дамп участка кода в памяти, где расположен Listener, изложенный на языке ассемблера?
Ну а вообще Listener это объект призваный получать уведомление о наступлении какого-либо события другого объекта. Если Вы знакомы с концепцией сообщений Windows, то я думаю технология прослушивания событий во Флеше будет Вам понятна.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 05.08.2008, 10:42
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Listener — это метафизическое понятие, вбитое хелпом в голову начинающим флешерам. Listener — это такой обыкновенный объект-помойка, у которого объявлены с определенным именем методы, которые вызываются тем объектом, который, собственно, «слушают». На деле этот Listener — мусор, бессмысленный объект. Последняя стадия заплывших мозгов — создавать такой объект, а потом вешать на него делегаты методов на this.

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

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от Alex_beginner Посмотреть сообщение
Вас интересует дамп участка кода в памяти, где расположен Listener, изложенный на языке ассемблера?
Привет!
Мне кажется автора топика скоре всего интересует сам механизм листенерства, то есть, его мучает сомнения по поводу загруженности процессорного времени. Для получения сообщения листенер должен опрашивать: "А не поменялось что-либо у вас? А не произошло ли событие какое-нибудь?"
То есть в итоге схожесть на так не любимый всеми EnterFrame, а может как раз и сам EnterFrame реализован в методах листенера! Расплодив листенеры возможно ли тормознуть программу? В ответах даны определения и оценка Listener.
Но, может я ошибаюсь и вы и __etc уже дали удовлетворительный ответ.

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

Регистрация: May 2008
Сообщений: 476
Привет Жень Шень! То что Вы зацитировали это всего лишь шутка и я никоим образом нехотел обидеть Вас и автора! Дело в том, что вопрос листенерства настолько обширен и щекотлив, что даже уходит своими корнями в латентные механизмы организации сообщений в Windows! И да простят меня великие WinAPI- программисты! Но поверхностно, не в даваясь в подробности алхимии Windows, а касаясь только части реализации концепции организации сообытий и их отлова во Флеш, можно и по дискутировать. Ведь это будет полезно не только нашему уважаемому автору, но и другим заинтересованным в данном вопросе участникам форума.

Если Вы еще не знакомы с концепцией сообщений Windows - в двух словах, есть конвейр, в который вталкиваются некие сообщения - какие-либо системные события (например клик левой кнопки мыши). Каждое сообщение ждет своей обработки в соотвествии с выстроевшейся очередью. Безусловно, излишество в наступивших сообщениях в ситеме сказывается на производительности всей системы. Эту гипотезу не трудно проверить, если создать какой-нибудь периодически выполняющийся код с таймером и замерять время выполнения кода в каждом цикле при , например, активном движении мыши и без него.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 05.08.2008, 12:22
Tor4ok вне форума Посмотреть профиль Отправить личное сообщение для Tor4ok Найти все сообщения от Tor4ok
  № 7  
Ответить с цитированием
Tor4ok

Регистрация: Nov 2005
Сообщений: 29
Вообще да, хотелось бы понять насколько сильно загружается система от повышения кол-вов Listener ?
Цитата:
Если Вы еще не знакомы с концепцией сообщений Windows - в двух словах, есть конвейр, в который вталкиваются некие сообщения - какие-либо системные события (например клик левой кнопки мыши). Каждое сообщение ждет своей обработки в соотвествии с выстроевшейся очередью
то есть все события пользователя вталкиваются в такой конвеер и каждое событие проверяет - "будут ли его использовать"?

Старый 05.08.2008, 12:27
Жень Шень вне форума Посмотреть профиль Отправить личное сообщение для Жень Шень Найти все сообщения от Жень Шень
  № 8  
Ответить с цитированием
Жень Шень
 
Аватар для Жень Шень

блогер
Регистрация: Feb 2004
Адрес: Украина
Сообщений: 1,180
Записей в блоге: 3
Отправить сообщение для Жень Шень с помощью ICQ
Цитата:
Сообщение от Alex_beginner Посмотреть сообщение
я никоим образом нехотел обидеть Вас и автора!
Привет!
Упаси Бог обижаться! Мне приятно читать ваши коменты и стиль вашего общения. Просто я так понял автора и, кстати, самому стал интересен механизм листенерства.
Добавлено.
Автор "узаконил" мою догадку.


Последний раз редактировалось Жень Шень; 05.08.2008 в 12:29.
Старый 05.08.2008, 13:03
crazyone вне форума Посмотреть профиль Отправить личное сообщение для crazyone Найти все сообщения от crazyone
  № 9  
Ответить с цитированием
crazyone
 
Аватар для crazyone

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Цитата:
латентные механизмы организации сообщений в Windows!
Как-то я не понял, какое значение вы пытались придать слову "латентные"? =)

И да, во флеше сообщения устроены немного по другому.
Хотя последовательное выполнение кода никто не отрицает. Паралельные вычисления флешной виртуальной машине врятли грозят. Да и не нужны.

Чтобы узнать - как устроены сообщения и слушатели во флеше, погуглите по поводу AsBroadcaster и будет вам счастье. Например давняя статья потрошителя. Или еще много чего полезного.

Старый 05.08.2008, 13:06
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 10  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Цитата:
Последняя стадия заплывших мозгов — создавать такой объект, а потом вешать на него делегаты методов на this.
__etc, можно в двух словах, как стоит делать? Например с событиями Key.

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

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

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


 


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


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