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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.10.2010, 22:30
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 21  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
подобные тесты не дают никаких реальных данных B-)
тем более глубина вложенности у вас равна единице =)
__________________
Блог, Twitter
Брюзга.

Старый 16.10.2010, 22:35
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 22  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
вам двести тысяч детей о чем-то говорит? Это сделано с учетом того, что в реальности даже во всем древе сцены столько детей никогда не будет. Но даже при такой тяжести все про все отнимает 35 мс. С рекурсивным проходом в два раза медленнее не станет, поверьте.
Можете стоять на своем, мне до этого дела нет.
Вообще, рекоммендую поинтересоваться у автора - ему это для авариума с рыбкой нужно?

Старый 16.10.2010, 23:06
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 23  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
ну кучу хороших вариантов названо.
в зависимости от случая можно и пройтись по всем обьектам(количество их может быть слишком большим) или юзать один из названных патернов(большой минус возможность утечьки памяти ведь при удалении обьекта отовсюду на него еще останется ссылка из храниша. а в большом проекте перекопать все места где удаляются обьекты может быть не так просто).

у меня только один вопрос. почему
Код AS3:
for(var i=0; i<numChildren;i++)
if ( !(getChildAt(i) is MyClass) ) continue;
else{обработать getChildAt(i) }
а не
Код AS3:
for(var i=0; i<numChildren;i++)
if (getChildAt(i) is MyClass ) {
обработать getChildAt(i) 
}
))))))

Добавлено через 11 минут
тьфу. я чето только первую страницу прочитал подумал на этом и остановились )))))
200 тысяч за 35 милли секунд это бычтро. очень даже по моему. не ожидал

Старый 16.10.2010, 23:21
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 24  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
ну вообще я как и tanatix советую помещать объекты в массив при создании, без всяких статиков итп...
типа так:
Код AS3:
var enemy:Enemy = new Enemy();
this.enemyList.push(enemy);
всё. нужны враги - обходим врагов, нужны призы - обходим призы.
__________________
Отряд Котовскага

Старый 17.10.2010, 00:22
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 25  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
Код AS3:
тьфу. я чето только первую страницу прочитал подумал на этом и остановились
Я тоже И мой комментарий оказался очень похож на комментарий gloomyBrain вначале второй страницы.
Это недостаток дизайна. Было бы удобно, если бы под последним комментарием была достаточно заметная кнопка "СЛЕДУЮЩАЯ СТРАНИЦА", если такая есть.

Старый 17.10.2010, 00:54
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 26  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Задача:
Цитата:
обратиться сразу ко всем экземплярам определенного класса, которые отображены на сцене
Решение i.o.
Цитата:
Пройтись по каждому экземпляру и проверить, является ли он наследником определенного класса, с помощью оператора is
Проверки на соответствие по классу нет в условии задачи и для ее решения проверка так же не требуется. Тем более рекурсивная. Следовательно, это просто лишняя работа.

Добавка от passertm:
Цитата:
большой минус возможность утечьки памяти ведь при удалении обьекта отовсюду на него еще останется ссылка из храниша
Если у объекта есть метод destroy() или у класса есть статический метод removeInstance() (оба метода могут быть private и вызываться по событиям REMOVED_FROM_STAGE), то вопрос снимается автоматически. Говоря про утечки памяти - удаление элемента массива не есть трудоемкая операция, равно как и удаление со сцены. Так что аргумент в расчет не принимается.

Мнение mayakwd:
Цитата:
я считаю что код должен быть продуктивным
Полностью согласен. Равно как и с тем, что код должен описывать те и только те действия, которые необходимы для решения поставленной задачи.
__________________
...вселенская грусть

Старый 17.10.2010, 01:17
chabapok вне форума Посмотреть профиль Отправить личное сообщение для chabapok Найти все сообщения от chabapok
  № 27  
Ответить с цитированием
chabapok

Регистрация: Jul 2009
Сообщений: 240
Записей в блоге: 1
Вы тут спорите ни о чем. Главное - идея. Идеи подкинули -- дальше пускай топикстартер сам решает что ему нужно.

может ему нужно перебирать эти экземпляры 1 раз при запуске. А может в каждом событии ENTER_FRAME. Требования к оптимизации, естественно разные.

Старый 17.10.2010, 10:35
passertm вне форума Посмотреть профиль Отправить личное сообщение для passertm Найти все сообщения от passertm
  № 28  
Ответить с цитированием
passertm
[+1 28.12.10]
[+1 29.12.10]
 
Аватар для passertm

Регистрация: Aug 2006
Сообщений: 107
Цитата:
Сообщение от f.g.programmer Посмотреть сообщение
Это недостаток дизайна. Было бы удобно, если бы под последним комментарием была достаточно заметная кнопка "СЛЕДУЮЩАЯ СТРАНИЦА", если такая есть.
да. есть номера страниц. просто они находятся после формы ввода быстрого ответа. вот и получается что сначало отвечаем

Добавлено через 25 часов 28 минут
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Если у объекта есть метод destroy() или у класса есть статический метод removeInstance() (оба метода могут быть private и вызываться по событиям REMOVED_FROM_STAGE), то вопрос снимается автоматически. Говоря про утечки памяти - удаление элемента массива не есть трудоемкая операция, равно как и удаление со сцены. Так что аргумент в расчет не принимается.
вот в этом и есть беда. в кажужейся простоте реализации. к примеру после такой реализации. обьект может быть добавлен на сцену а потом удален и потом вновь добавлен и вот дела. всеми подобным обьектами на сцене производится действия а с одим нет. убиться можно пока найдешь причину если обьектов больше 1000(т.к. удаление и добавление могло произойти на пол часа до того как что то пойдет не так).

я не пытаюсь показать будто этот метод сложнее чем есть на самом деле. наличие нужных событий очень упрашает дело. но все же есть случаи в которых я бы предпочел делать перебор. ибо игра не стоилобы свечь(реализации этого всего и отладки чтобы убедиться что все идет как надо)

Старый 18.10.2010, 13:41
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 29  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
но все же есть случаи в которых я бы предпочел делать перебор.
Перебор будет проще в весьма ограниченном колличестве случаев (когда нужные объекты преобладают над остальными), в остальном такая реализация будет более затратна для ресурсов (представьте, что у вас на сцене есть система чатиц и ваш алгоритм перебора натыкается на нее).
Цитата:
...обьект может быть добавлен на сцену а потом удален и потом вновь добавлен и вот дела...
Это уже будет кривизна конкретной реализации, сам метод (сбор ссылок на экземпляры) предельно прост, накосячить в нем, это надо постараться.

Старый 18.10.2010, 13:43
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 30  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
накосячить в нем, это надо постараться
Вот я тоже так думаю. Там отлаживать-то 3 (ну ладно - 4) строчки кода =)
__________________
...вселенская грусть

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

Теги
обращение , отображение , экземпляры

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

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


 


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


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