![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 19.06.10]
[+1 27.07.10] Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
|
подписка делается ведь при создании каждого отдельного из кучи однотипных объектов ?
а отписка, соответственно, при уничтожении каждого. не думаю, что с точки зрения объема исходного кода этот способ сложнее. он даже может оказаться гибче... но выяснить ресурсоемкость первого и второго подходов можно только экспериментальным путем... P.S. думаю, что "слушатель" представляет собой несколько байт и ни грамма исполняемого кода. Последний раз редактировалось Crenth; 27.04.2010 в 15:23. |
|
|||||
|
Регистрация: Jun 2009
Адрес: Москва
Сообщений: 170
|
orcpochta, об этом BlooDHounD и говорит "вы скорее потратите больше ресурсов на постоянные подписки и отписки"
__________________
Могу ошибаться... =) |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
зачем подписки и отписки? предположим, мне надо, чтобы каждый объект что-то делал по событию ENTER_FRAME, все объекты у меня лежат в массиве (можно в векторе), слушатель повешен на родителя (или вообще на кого угодно - я создаю объект класса Shape, который обзываю pulsar - он у меня что-то типа тактового генератора в процессоре и он заставляет всех плясать), по событию родитель пробегается по массиву и у каждого члена вызывает, например, публичный метод onTact(), а какая ф-ия подставляется в этот метод в самом объекте - зависит уже от внутреннего состояния объекта.
__________________
скриптограф Последний раз редактировалось orcpochta; 27.04.2010 в 15:29. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
Цитата:
я как-то испытывал эту схему еще в 8 флеше и у меня бодро бегало 50 на 50 танков (в смысле по 50 в двух командах) по клеткам не наезжая друг на друга и радостно друг-друга убивая с эффектом разлетающихся осколков
__________________
скриптограф Последний раз редактировалось orcpochta; 27.04.2010 в 15:38. |
|
|||||
|
стервочка (я мужик)
|
так ... из происходящего могу понять, что читать умеет только mickfallout.
1. баблинг происходит не зависимо от того, есть слушатели или нет. 2. когда генерируется событие ему всё равно придётся на каждом этапе всплытия проверить "а есть ли тут слушатель". 3. если у нас будет 500 вложенностей, то произойдёт 500 проверок для события. независимо от того на каком уровне вложенности Вы подпишитесь, все 500 проверок произойдут любом случаи. исходя из этого на скорость обработки это никак не повлияет. подписываясь у родителя, Вы делаете это один раз. создавая всего одного слушателя. подписываясь у каждого из детей, Вы создаёте N слушателей.соответственно вы тратите в N раз больше памяти и в N раз у вас будет медленнее инициализация прослушки. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
имелось в виду 50-500 одноуровневых детей ессно)))
__________________
скриптограф |
|
|||||
|
стервочка (я мужик)
|
orcpochta, да это совершенно не важно, и к теме не относится.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 890
|
как же не относится? дети есть, слушатели есть
__________________
скриптограф |
|
|||||
|
стервочка (я мужик)
|
повторюсь:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|