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

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

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

Регистрация: Apr 2012
Сообщений: 213
По умолчанию Очень частый таймер :)

Может ли таймер срабатывать чаще чем раз в миллисекунду?

Старый 21.09.2013, 16:02
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Help:
Цитата:
Частота объекта Timer ограничена 60 кадрами в секунду, то есть задержка меньше 16,6 миллисекунд вызывает проблемы во время выполнения.
__________________
Reality.getBounds(this);

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

Регистрация: Sep 2003
Сообщений: 28
Значит ли ваш вопрос, что один раз в мс таймер у вас срабатывает без проблем?

Старый 21.09.2013, 16:03
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
не чаще, чем раз в 20 мсек.
__________________
тут я

Старый 21.09.2013, 16:08
Digital вне форума Посмотреть профиль Отправить личное сообщение для Digital Найти все сообщения от Digital
  № 5  
Ответить с цитированием
Digital

Регистрация: Apr 2012
Сообщений: 213
срабатывает без проблем, а не должно?

Старый 21.09.2013, 16:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Интересно было бы узнать, как Вы это определяете.
__________________
Reality.getBounds(this);

Старый 21.09.2013, 16:56
Digital вне форума Посмотреть профиль Отправить личное сообщение для Digital Найти все сообщения от Digital
  № 7  
Ответить с цитированием
Digital

Регистрация: Apr 2012
Сообщений: 213
tarce переменной t, которая каждые 1 миллисекунды делает ++

Старый 21.09.2013, 16:58
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Но вы не знаете точно, через сколько таймер срабатывает. t не показывает сколько времени прошло с момента последнего тика таймера.
__________________
тут я

Старый 21.09.2013, 19:33
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
tarce переменной t, которая каждые 1 миллисекунды делает ++
И что Вам мешает вместо (1) написать (0.2) и "проверить"? ))
Ваш тест всего лишь показывает, что таймер тикает. Ну... как бы это его работа, да?
Измерьте реальное время, за которое Ваш миллисекундный таймер натикает то что нужно, ну скажем три секунды. Сколько понадобится реально времени, чтобы таймер тикнул 3000 раз (t стало равно 3000).
Только трейс на каждый тик не делайте, он очень много времени требует.
__________________
Reality.getBounds(this);

Старый 21.09.2013, 21:52
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 10  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Вот тут провел совсем странный тест:
Код AS3:
package
{
	import flash.display.*;
	import flash.text.*;
	import flash.utils.*;
 
	public class Main extends Sprite
	{
		private var startTime:int;
 
		public function Main():void
		{
			if(stage) {
				init();
			} else {
				addEventListener(Event.ADDED_TO_STAGE, init);
			}
		}
 
		private function init(e:Event = null):void
		{
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			setTimeout(start, 2000);
		}
 
		public function start():void 
		{
 
			var timer:Timer = new Timer(1, 1000);
			timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete);
			timer.start();
			startTime = getTimer();
		}
 
		private function onComplete(e:TimerEvent):void 
		{
			var delay:int = getTimer() - startTime;
			var tf:TextField = new TextField();
			tf.text = "delay: " + delay + "ms";
			addChild(tf);
		}
	}
}
В итоге, при Timer(1, 1000):
delay: 17130ms

Результат при Timer(10, 100):
delay: 1740ms

Результат при Timer(20, 50):
delay: 1040ms

Результат при Timer(100, 10):
delay: 1165ms

Насколько я понял, идеальным вариантом таймера есть Timer(20, 50).


Последний раз редактировалось MikroAcse; 22.09.2013 в 15:51.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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