Показать сообщение отдельно
Старый 05.11.2014, 04:08
Vreden вне форума Посмотреть профиль Отправить личное сообщение для Vreden Найти все сообщения от Vreden
  № 8  
Ответить с цитированием
Vreden
 
Аватар для Vreden

Регистрация: Feb 2009
Сообщений: 141
Цитата:
Сообщение от Gerbert Посмотреть сообщение
То что посоветовал Vreden, это стек, а не пул.
Поясните мне, пожалуйста, чем отличается стек от пула?

Цитата:
Сообщение от Gerbert Посмотреть сообщение
Это какой-то "безумный" пул, который на одних splice потратит больше, чем при создании объекта.

Код AS3:
public function Test()
		{
			var array:Array = [];
			for (var i:int = 0; i < 1000; i++)
				array.push(new Sprite());
 
			var time:int = getTimer();
			for (i = 0; i < 100000; i++)
			{
				var sprite:Sprite = array.pop();
				array.push(sprite);
			}	
			trace("Crazy array pool", getTimer() - time); //Crazy pool 28mc
 
			time = getTimer();
			for (i = 0; i < 100000; i++)
				new Shape();
			trace("Create simply display object", getTimer() - time); //Create simply display object 368mc
 
			time = getTimer();
			for (i = 0; i < 100000; i++)
				new Sprite();
			trace("Create simply display object container", getTimer() - time); //Create simply display object container 583mc
		}
Zebestov, то что нужно, я как раз об этом.

Добавлено через 11 минут
Gerbert, ну и для пущей убедительности:

Код AS3:
time = getTimer();
			for (i = 0; i < 100000; i++)
				array[50000];
			trace("Get index without create object", getTimer() - time); //Get index without create object 15mc
500ms минимум изначальной инициализации пула и оверхеда по памяти, против 13 ms на 100000 объектов в динамическом пуле.

Добавлено через 32 минуты
Цитата:
Сообщение от Gerbert Посмотреть сообщение
Чушь если не выставлен флаг в компиляторе.
Даже, если вы компилятору прикажете использовать аппаратное ускорение, но при этом вы не используете stage3d, никакого ускорения вы не получите, это всего-лишь эквивалент wmode=direct при встраивании swf объекта на страницу и опция компилятора предназначена скорее для автономных приложений, как еще один способ разрешить использовать ускорение, что не равно "ускорять и все тут"