PDA

Просмотр полной версии : Работа Timer с погрешностями?


marat_sa
12.08.2009, 08:57
Здравствуйте, в приложении используется Timer, в начале работы приложения выставляется по серверному значению, общее время работы таймера около часа. Обновляется каждую секунду.
_timer = new Timer(1000);
_timer.addEventListener(TimerEvent.TIMER, updateTimer);
_timer.start();
После прохождения этого часа снова происходит запрос на сервер, и наблюдается рассинхронизация в несколько минут!
Может ли таймер отставать из-за тормозов в приложении с графикой?

VVall
12.08.2009, 09:21
Вчера писал в другой теме:

Таймеры во Flash вообще своеобразно работают, независимо от версии AS. У них низкая точность, она зависит от браузера и даже от выставленного в ролике FPS (чем ниже, тем меньше точность).

marat_sa
12.08.2009, 09:22
Спасибо. А есть какая-нибудь альтернатива?

wvxvw
12.08.2009, 09:36
Проверять в таймере getTimer() и вносить поправки.

BlooDHounD
12.08.2009, 11:28
wvxvw, getTimer зависит от процессора и от их количества :)

switcher!
12.08.2009, 11:42
Давно висел вопрос, но лень было тему создавать ))
1. Где-то на форуме ранее читал, что при определенных обстоятельствах таймер может не запускаться, даже если четко прописан в программе. С чем это может быть связано? Перегрузка процессора?
2. и как этого избежать? (кроме, "не использовать таймер")

Герыч
12.08.2009, 11:48
как вариант в готовом приложении сделать кнопочку "нажать через 10 сек" и положиться на пользователя)

а вообще wvxvw наверно прав. Засекать сколько таймер сам работает, сколько между тиками таймера проходит и корректировать период таймера+насильно вызывать второй раз таймер, если не хватает времени. как-то так

wvxvw
12.08.2009, 12:12
wvxvw, getTimer зависит от процессора и от их количества :)

new Date().time ? :D

marat_sa
12.08.2009, 14:24
а getTimer() - тоже врет?

etc
12.08.2009, 14:58
Врёт.

BlooDHounD
12.08.2009, 19:06
wvxvw, угу :)

CrazyFlasher
12.08.2009, 20:18
1. положить в сканнер швейцарские часы.
2. написать скрипт, который будет сканнить и передавать флэшу битмап.
3. во флэше написать обработчик картинки исходя из стрелок.

короче кому отсыпать....

LanSelven
28.08.2009, 01:16
Ну можно же сделать таймер основаный на времени часов компьтора

BlooDHounD
28.08.2009, 01:26
а тут (http://www.flasher.ru/forum/showpost.php?p=842117&postcount=8) что предлагают?