Показать сообщение отдельно
Старый 14.12.2009, 03:28
GentleFLASH вне форума Посмотреть профиль Отправить личное сообщение для GentleFLASH Найти все сообщения от GentleFLASH
  № 3  
Ответить с цитированием
GentleFLASH

Регистрация: Apr 2009
Сообщений: 117
Возможно стоит попробовать getTimer() - встроеная функция, возвращает кол-во миллисекунд прошедших с момента запуска флэшки. Вдруг точнее будет.

Весьма интересные результаты получились. Иногда разница между измерениями через getTimer и Date лежит от -15 до 0, иногда от -8 до 6, а иногда от 0 до 15. Кому интересно:

Код AS3:
var dt_start:Number = (new Date()).time;
var dt_delta:Number;
 
var tm_start:uint = getTimer();
var tm_delta:uint;
 
var i_dtCurr:int = 0;
var i_dtMin:int = 0;
var i_dtMax:int = 0;
 
var i_cycles:int = 2048;
 
 
 
stage.addEventListener( MouseEvent.CLICK, _onMClick );
 
 
 
function _onMClick( e:MouseEvent ):void
{
	for( var i:int=0; i<i_cycles; i++ )
	{
		dt_delta = (new Date()).time - dt_start;
		tm_delta = getTimer() - tm_start;
 
		i_dtCurr = tm_delta - dt_delta;
		i_dtMin = i_dtCurr < i_dtMin ? i_dtCurr : i_dtMin;
		i_dtMax = i_dtCurr > i_dtMax ? i_dtCurr : i_dtMax;
	}
 
	trace( "\n" );
	trace( "deltaTimer: " + tm_delta );
	trace( "deltaDate: " + dt_delta );
	trace( "i_dtCurr: " + i_dtCurr );
	trace( "i_dtMin: " + i_dtMin );
	trace( "i_dtMax: " + i_dtMax );
}


Последний раз редактировалось GentleFLASH; 14.12.2009 в 03:57.