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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.04.2012, 02:02
PlutDem вне форума Посмотреть профиль Отправить личное сообщение для PlutDem Найти все сообщения от PlutDem
  № 32  
Ответить с цитированием
PlutDem
 
Аватар для PlutDem

Регистрация: Feb 2012
Сообщений: 212
Цитата:
Сообщение от Wolsh Посмотреть сообщение
15 наслоений полного комплекта углубляющихся геттеров легче одной переменной?
Ведь для изменения одного (не побоюсь этого слова) свойства декоратором Вам надо нагрузить предмет полным комплектом всех геттеров, цепляющихся к прошлым геттерам.
Вы так рассчитываете сэкономить память и увеличить быстродействие?
Вопрос "чем ваше декорирование лучше прямой установки?" всё ещё в силе. Ответа не было.
У большинства вещей по 2-3 бонуса к характеристикам. Держать в объекте 2-3 свойства лучше чем все 25. В среднем около 3-5 наслоений.

В любом случае, метод себя оправдал на жалких 10%
Проще держать в вещи все возможные свойства. К тому же от их количества зависит далеко не многое.
Код AS3:
public class Main extends Sprite {
 
		public function Main():void {
 
                        var items:Array = new Array();
			for (var i:int = 0; i < 200000; i++) {
				items[i] = new TestItem;
			}
 
		}
 
	}
Код AS3:
public class TestItem {
 
		public var testSkills:TestSkils = new TestSkils();
		public function TestItem() {
 
		}
 
	}
Код AS3:
public class TestSkils {
 
		public var ar_1:int =2;
		public var ar_2:int =2;
		public var ar_3:int =2;
		public var ar_4:int =2;
		public var ar_5:int =2;
		public var ar_6:int =2; 
		public var ar_7:int =2;
		public var ar_8:int =2; 
		public var ar_9:int =2; 
		public var ar_10:int =2; 
		public var ar_11:int =2;
		public var ar_12:int =2; 
		public var ar_13:int =2; 
		public var ar_14:int =2; 
		public var ar_15:int =2; 
		public var ar_16:int =2; 
		public var ar_17:int =2; 
		public var ar_18:int =2; 
		public var ar_19:int =2; 
		public var ar_20:int =2; 
		public var ar_21:int =2; 
		public var ar_22:int =2; 
		public var ar_23:int =2; 
		public var ar_24:int =2; 
 
		public function TestSkils() {
			}
 
	}
Всего потребляемой памяти: 9 256 Kb.
Если в TestSkils убрать все свойства кроме 3, то всего потребляемой памяти будет 8 776 Kb.
А если сделать так, то всего потребляемой памяти будет 4 624 Kb.
Код AS3:
public class Main extends Sprite {
 
		public function Main():void {
 
                        var items:Array = new Array();
			for (var i:int = 0; i < 200000; i++) {
				items[i] = 12;
			}
 
		}
 
	}
В общем, занимаюсь экономией на спичках

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

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

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


 


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


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