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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.06.2009, 01:56
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 51  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
Дим, ты меня удивляешь ты меня первый день знаешь?
Не, не первый =) Но первый раз тест увидел. Причем ты представил тест скорости добавления детей DisplayObject vs. CustomClass. Тест множественного диспатча разных событий от них бы посмотреть.

Добавлено через 12 минут
Цель, преследуемую Вами, сформулируйте, пожалуйста.
Читаю, как могу =)
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Ну вот сам подумай:
- есть приватный слушатель
Почему слушатель должен (может?) быть приватным?

Цитата:
Сообщение от wvxvw Посмотреть сообщение
...который проверит, а является ли диспатчер вообще из класса родителей и имеется ли у него такой ребенок, как он сам,
Надо - пускай проверяет на target и currentTarget и (target as Branch).hasChild(currentTarget as Leaf); Много ли корысти =)

Цитата:
Сообщение от wvxvw Посмотреть сообщение
и с этим слушателем другой программист, который, возможно, будет использовать этот класс, или наследоваться от него ничего не сможет сделать - только переписать сам класс по-другому
Пускай наследуется от классов, в которых есть базовые механизмы обеспечения целостности иерархии [Leaf и Branch]. Или композиция или наследование. Третьего не дано.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 02.06.2009 в 02:10.
Старый 02.06.2009, 02:13
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 52  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
мой диспатч в 3 раза медленее:
Код AS3:
var i:uint = 0;
var t:Number;
 
var d1:DataContainer = new DataContainer();
var d2:DataContainer = new DataContainer();
var d3:DataContainer = new DataContainer();
var d4:Data = new Data();
d1.addChild( d2 );
d2.addChild( d3 );
d3.addChild( d4 );
 
d1.addEventListener( Event.CHANGE, empty_handler );
 
t = getTimer();
for ( i=0; i <1E5; i++ ) {
	d4.dispatchEvent( new DataBaseEvent( DataBaseEvent.CHANGE, true ) );
}
trace( getTimer() - t ); // 1534
 
var o1:Sprite = new Sprite();
var o2:Sprite = new Sprite();
var o3:Sprite = new Sprite();
var o4:Shape = new Shape();
o1.addChild( o2 );
o2.addChild( o3 );
o3.addChild( o4 );
 
o1.addEventListener( Event.CHANGE, empty_handler );
 
t = getTimer(); // 574
for ( i=0; i <1E5; i++ ) {
	o4.dispatchEvent( new DataBaseEvent( DataBaseEvent.CHANGE, true ) );
}
trace( getTimer() - t );
по сравнению с "разами" в других областях, такой фигнёй можно пренебречь так как модель оповещает о изменении своих состояний, а это происходит только по велению сервера, и уж явно не чаще чем раз в кадр

Добавлено через 1 минуту
О! даже с учётом медлительного диспатча, мой addChild быстрее а на добавление такой же ADDED генерится

Старый 02.06.2009, 02:16
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 53  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А тут люди предлагали enterFrame для моделки ввести, дык получается таки медленне с кастомным диспатчем буде? =)
Ну добавил я пяток десятков Data или DataContainer. Шустро так добавляются - это плюс. А вот диспатчат они неторопливо. Это в динамичной гаме минус =) Я счтитаю так.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 02.06.2009 в 02:19.
Старый 02.06.2009, 02:25
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 54  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Ну вот сам подумай:
- есть приватный слушатель который проверит, а является ли диспатчер вообще из класса родителей и имеется ли у него такой ребенок, как он сам...
да какая разница, приватный он или нет? я выше задал вопрос, который ты цитировал: как ты подпишишься у родителя, которого ещё нет? соответственно как ты проверишь таргет? я не понимаю, как ты будешь определять правильность таргета. если ты знаешь, какой таргет правильный, то нафига ты вообще диспатчишь какие-то там события, или ещё мутишь чего-то. бери да юзай.
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Как пример - EventDispatcher и Event. Когда EventDispatcher диспатчит Event он каким-то образом заполняет свойства target / currentTarget.
ты думаешь он его заполняет диспатчем странным, не пойми откуда не пойми куда? юзается кастомный_нэймспэйс/internal. наружу ничего не торчит, через геморой соседа ничего не передаётся.

Добавлено через 3 минуты
dimarik, считай я останусь при своём авторитетном мнении и ни когда не стану делать enterFrame для модели, ибо это изврат.

Добавлено через 8 минут
ты вообще странные предпочтения выбираешь:
* в ~30 раз меньше памяти занимает.
* в ~10 раз быстрее создаётся/инитиализируется/добавляется
* в ~1 раз быстрее делает обычные диспатчи
* в ~3 раза медленне делается редкие диспатчи с баблингом.

собственно, для меня выбор очевиден, а ты ломайся, думай, и мечтай о вселенском добре и счастьи.

Старый 02.06.2009, 03:32
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 55  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
да какая разница, приватный он или нет? я выше задал вопрос, который ты цитировал: как ты подпишишься у родителя, которого ещё нет? соответственно как ты проверишь таргет? я не понимаю, как ты будешь определять правильность таргета. если ты знаешь, какой таргет правильный, то нафига ты вообще диспатчишь какие-то там события, или ещё мутишь чего-то. бери да юзай.
Не понимаешь - забей
__________________
Hell is the possibility of sanity

Старый 02.06.2009, 03:59
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 56  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Читаю я этот поток бреда мыслей и не понимаю одного — когда же вы между выбором, соблюдением паттернов, борьбой с ветряными мельницами, успеваете код-то писать?
__________________
TankiOnline
Я разработчик Alternativa3D

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

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

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


 


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


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