|
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
Что такое callback в AS3?
Дайте доступное определение того, что есть callback-и
И сразу следующий момент: на этом форуме некоторые товарищи имеют мнение, что если кто-то не использует событийную модель, то он просто не понимает что она из себя представляет и как работает но есть опять же мнения, что в требовательных к производительности приложениях (вроде активных игр) в споре callback Vs. events использование ивентов недопустимо и сродни рытья себе могилы про какие callback-и тут опять же речь?
__________________
скриптограф |
|
|||||
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
> в споре callback Vs. events использование ивентов недопустимо
Если события вызывают ТАКИЕ проблемы с производительностью, что допустимо использование слова "недопустимо", то имеет смысл пересмотреть целесообразность использования флеша. Немного спасает от тормозов при ОГРОМНОМ количестве событий переопределение метода dispatchEvent и внесение в него проверки на существование слушателя этого события, чтобы лишний раз не диспатчились. А callBack — это функция, которая будет вызываться при определенном стечении обстоятельств, например, вместо можно добавить callback: И работать это будет немного быстрее, по идее.
__________________
#flasher@irc.trg.ru:6667 Последний раз редактировалось Obi; 14.05.2010 в 15:02. |
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
ну т.е. суть callback-a в том, что не отсылается событие, а вызывается какая-то функция напрямую или через прокси-функцию (я так называю то, что у вас _buildCompleteCallback )?
__________________
скриптограф |
|
|||||
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
верно.
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
Ну вот, кстати, Михаил Антипин, который Nox Noctis, в своем докладе на вчерашнем флешгамме сказал что-то типа (если я правильно понял):
- понятно, что событийные объекты маленькие и незначительные, и сама по себе их генерация не особо затратная процедура, но все зло (читай: возможные тормоза) идет от GC, которому в какие-то моменты все эти объекты надо собирать и выкидывать из памяти. В принципе, я придерживаюсь того же мнения с момента начала изучения AS3, но, т.к. имею мало опыта, тестировать обе схемы (коллбэки и ивенты) на каком-то одном затратном приложении мне не доводилось, поэтому я не могу подтвердить из своего опыта, что проблема GC действительно стоит так остро.
__________________
скриптограф |
|
|||||
Цитата:
Удивило то, что в отличии от Sprite, Shape и тд событийные объекты удаляются достаточно часто. По крайней мере больше секунды у меня ни одно событие не протянуло. ЗЫ про колбеки На мой взгляд события нужны там и только там, где лень писать дофига колбеков или нет уверенности - как именно этот колбек будет назначаться.
__________________
...вселенская грусть |
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
Хотя я вот сейчас подумал такую вещь:
пользовательских событий в какой-нибудь активной игре на самом деле не больше 5-10% от общего числа (остальные - это системные события, типа мышка движется, роллОверы всякие и т.д.) GC ведь все равно приходится вычищать системные событийные объекты (а от них никуда не денешься) - так что нагрузка от пользовательских событий на GC в этом смысле минимальна. Т.е., как мне кажется, проблема GC - это надуманная проблема (в смысле, что проблема GC, возможно есть, но это связано в основном с системными событиями, а не с пользовательскими - если рассматривать проблему GC только в срезе событийных объектов), а основная нагрузка и как следствие тормоза может идти не от GC, а от количества слушателей, висящих в памяти.
__________________
скриптограф Последний раз редактировалось orcpochta; 14.05.2010 в 16:03. |
|
|||||
стервочка (я мужик)
|
опять этот бред про событий и ГЦ. интересно откуда ноги растут? локальные переменные удаляются сразу. никакой ГЦ они не запускают. если событие нигде не повисло, то оно сразу же удалится.
|
|
|||||
Регистрация: Feb 2008
Сообщений: 890
|
О каких локальных переменных вы говорите? О примитивах - согласен, о ссылках на объекты - согласен, а вот сами объекты, как я понимаю, какими бы они локальными не были, сразу не удаляются.
__________________
скриптограф |
|
|||||
стервочка (я мужик)
|
кстати ... мы когда-то писали ММО, типа того, что пишет Нокс. так вот у нас всё на событиях было. никаких проблем с этим не было. а события составляли такую малость по сравнению к остальным узким местами, что мы вообще не обращали на них внимания. я даже не знаю, что нужно сделать, что бы события начали тормозить. тормоза с GC возникали, только при массовой выгрузке библиотек, например при телепорте в другое место.
|
Часовой пояс GMT +4, время: 10:06. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|