Показать сообщение отдельно
Старый 09.04.2014, 21:41
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Сделал тест на ентерфраме и всё вроде бы встало на свои места.
Чтение показывает одинаковое время, а запись вот в таком виде, даже вредит,
что склоняет к правоте silin'a.
И хочется ещё уточнить, какой из всех вариантов замера, по Вашему самый лучший, если он тут вообще есть?
Код AS3:
var value:ValueClass = new ValueClass();
var valueValue:int = value.value;
var num:int;
runtime = 0;
time = getTimer();
for (var j:int = 0; j < 100000; j++)
{
	var length:int = 500;
	while (length--)
	{
		valueValue +=1;// 5 000;
	}
	value.value = valueValue;
}
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.utils.Timer;
 
 
	public class Main extends Sprite 
	{
		private var textField:TextField;
		private var speedTest:TestSpeed;
		private var timer:Timer;
		private var num:int;
		public function Main() 
		{
			speedTest = new TestSpeed(print);
 
			textField = new TextField();
			timer = new Timer(2, 1);
			timer.addEventListener(TimerEvent.TIMER_COMPLETE, timer_timerCompleteHandler);
			timer.start();
		}
 
		private function timer_timerCompleteHandler(event:TimerEvent):void 
		{
			timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timer_timerCompleteHandler);
			timer = null;
 
			stage.addEventListener(Event.ENTER_FRAME, stage_enterFrameHandler);
		}
 
		private var frameSun:int;
		private var totalFrame:int = 120;
		private var delayFrame:int = 240;
		private function stage_enterFrameHandler(event:Event):void 
		{
			if (delayFrame > -1)
			{
				delayFrame--;
				return;
			}
			if (frameSun++ < totalFrame)
					speedTest.execute();
		}
 
		private var offsetY:int;
		private function print():void
		{
			textField.autoSize = TextFieldAutoSize.LEFT;
			super.addChild(textField);
			textField.text = "Кол-во выполений - " + frameSun + " из " + totalFrame + ", время выполнения - " + speedTest.runtime + ".";
		}
	}
}