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

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

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
По умолчанию Как посчитать время выполнения скрипта?

Код:
package {
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.display.MovieClip;
import flash.events.MouseEvent;

	public class base extends MovieClip {
		
		public function base() {
			public var sec:Timer = new Timer(1);
			sec.start();
			for (var i:int = 0;i<30000000;i++){
				var v1:Number = Math.random();
				var v2:Number = Math.random();
				var v3:Number = v1/v2;
			}
			sec.addEventListener("timer", timerHandler);
		}
		
		public function timerHandler(event:TimerEvent):void {
			trace("timerHandler: " + event.currentTarget.currentCount);
			event.currentTarget.stop();
		}
	}
}
вот.. полистал хелп, нашел этот класс, и хотя сама флэшка грузится секунд 7-8, event.currentTarget.currentCount стабильно выводит 1, в данном случае это повидимому 0,01 с. Видимо этот класс для других целей, т.к sec.start(); срабатывает после полного выполнения скрипта.

Как еще можно измерить время выполнения скрипта?)
__________________
Пора бы мне уже умнеть..

Старый 31.10.2007, 23:51
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
getTimer() , как и раньше. Теперь он во flash.utils просто.
__________________
4am is time to rock

Старый 31.10.2007, 23:55
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Таймер не подходит для подобных тестов. getTimer в руки.

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

Регистрация: Jul 2005
Сообщений: 304
Отправить сообщение для Ноябрь с помощью ICQ
пасиб, оно
__________________
Пора бы мне уже умнеть..

Старый 01.11.2007, 00:01
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
У меня даже такой класс был

Код:
package kii.utils
{
	import flash.utils.Dictionary;
	import flash.utils.getTimer;
	/**
	 * Class used for time tests.
	 * @author David
	 * @usage <code>
	 * var id:String = TimeTest.startTest('myTest');
	 * for each(var item:String in ['Sally', 'Billy', 'Bobby', 'Froggy'])
	 * {
	 * 		trace(item);
	 * }
	 * trace(TimeTest.endTest(id).toString());
	 * </code>
	 */
	public class TimeTest
	{
		/**
		 * @private
		 */
		private static var ids:Dictionary = new Dictionary(true);
		/**
		 * Starts a test.
		 * @param id	Id of a test.
		 * @return  	Id.
		 */
		public static function startTest(id:String = 'default'):String
		{
			ids[id] = getTimer();
			return id;
		}
		/**
		 * Ends tests with given id.
		 * @param id	Id of a test.
		 * @return 		Time from <code>startTest</code> invocation.
		 */
		public static function endTest(id:String = 'default'):Number
		{
			if(ids[id] == null) return -1;
			
			var result:Number = getTimer() - ids[id];
			ids[id] = null;
			return result;
		}
	}
}
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 01.11.2007, 00:10
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 6  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Предупреждая вопросы, нафига он.

Это тестовый класс(тоесть класс который не используеться в приложениях на стадии production) поэтому его легко изменять, вставляя трейсы, сохраняя данные и кучу всего не боясь что ты его забажишь(потом класс просто удаляеться перед деплоем, и все ссылки на него).
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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