Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.25;
Скачать: CL | DM;

Вниз

Точное отслеживание времени с точностью 10 миллисекунд   Найти похожие ветки 

 
Darvin ©   (2007-02-08 15:13) [0]

Здравствуйте.
Мне необходимо, чтобы происходили определенные события с точностью 10 миллисекунд. Стандартный таймер генерирует события реже, если поставить интервал 10. Как можно решить эту проблему?


 
palva ©   (2007-02-08 17:07) [1]

Для этого ставят другую операционную систему. Реального времени. Типа QNX.


 
Efir   (2007-02-08 17:30) [2]

Ну почему же, SetTimer вполне способен генерировать события с точностью до 5 мс (ну по крайней мере до 10 точно).


 
Kolan ©   (2007-02-08 17:40) [3]

> Ну почему же, SetTimer вполне способен генерировать события
> с точностью до 5 мс (ну по крайней мере до 10 точно).

Поставь на Pentium II, запусти кучу программ и посмотрим успеет или нет...


 
Efir   (2007-02-08 17:42) [4]


> Kolan ©   (08.02.07 17:40) [3]


А кто сказал, что его нужно запускать на Pentium II с кучей программ?


 
Kolan ©   (2007-02-08 17:43) [5]

> [4] Efir   (08.02.07 17:42)
>
> > Kolan ©   (08.02.07 17:40) [3]
>
>
> А кто сказал, что его нужно запускать на Pentium II с кучей
> программ?


А я грю что Цштвщцы не ОС реального времени. Она тебе ничего не гарантирует...


 
Kolan ©   (2007-02-08 17:43) [6]

> Цштвщцы

Windows


 
Правильный Вася   (2007-02-08 18:19) [7]

пробуй мультимединый таймер он точнее

ps зачем такая точность?


 
GrayFace ©   (2007-02-08 18:24) [8]

Efir   (08.02.07 17:30) [2]
Ну почему же, SetTimer вполне способен генерировать события с точностью до 5 мс (ну по крайней мере до 10 точно).

У него ограничение 10мс.


 
Efir   (2007-02-08 21:55) [9]


> GrayFace ©   (08.02.07 18:24) [8]


У меня при выставлении интервала на 0 таймер срабатывал 200 раз в сек. А вот у дельфийского компонента точно ограничение 10 мс.


 
DrPass ©   (2007-02-09 01:05) [10]


>  меня при выставлении интервала на 0 таймер срабатывал 200
> раз в сек. А вот у дельфийского компонента точно ограничение
> 10 мс.

Да ну? А в код дельфийского компонента ты не заглядывал? Загляни, прежде чем ерунду говорить.


 
Германн ©   (2007-02-09 01:34) [11]


> А вот у дельфийского компонента точно ограничение 10 мс.

Это не у "дельфийского компонента" TTimer, а у системного таймера, который использует данный компонент. И не всегда, а только в линейке NT. В 9х-системах данное ограничение составляет ~55 мс.


 
ЮЮ ©   (2007-02-09 05:30) [12]

И, всё-таки, главный вопрос - что это за событие и зачем так часто? А что-то ещё программа делает? А успеет сделать, если добъешься желаемого?


 
Efir   (2007-02-09 10:47) [13]


> Да ну? А в код дельфийского компонента ты не заглядывал?
>  Загляни, прежде чем ерунду говорить.


Да я прекрасно знаю, что TTimer использует SetTimer, но однако ж результаты практических испытаний показывают разные возможности (по прайней мере в ХР). Я б не говорил эту ерунду, ели бы сам не проверял.


 
smaller   (2007-02-09 12:09) [14]

Мультимедийный  таймер - гарантированное решение проблемы (разрешение до 1 мс).
Только не во всяком хелпе можно найти его описание - мне как то объясняли, где искать, да забыл, хотя сам таймер использую постоянно.


 
Darvin ©   (2007-02-09 12:27) [15]

>smaller   (09.02.07 12:09) [14]
А "Мультимедийный  таймер" это что за таймер? Где о нем можно почитать?

>ЮЮ ©   (09.02.07 05:30) [12]
Нужно анимировать процесс, происходящий в реальном времени. Шаг анимации должен быть 10 мс.

Я пробовал поставить Intreval = 1, картинка сменяется чаще, чем 10 раз в секунду. А нуюно, чтоб было ровно 10 раз в сек.


 
DiamondShark ©   (2007-02-09 12:36) [16]


> А "Мультимедийный  таймер" это что за таймер? Где о нем
> можно почитать?

тут читать

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_multimedia_timers.asp


> Шаг анимации должен быть 10 мс.


> А нуюно, чтоб было ровно 10 раз в сек.

Ы... Либо я чего-то не понял, либо кто-то в школе арифметику не учил.

10 раз в секунду -- это шаг 0.1 сек
а 10 мс -- это 0.01 сек


 
Darvin ©   (2007-02-09 12:38) [17]

> А нуюно, чтоб было ровно 10 раз в сек.
Конечно, 100 раз в сек. Моя ошибка ;-)


 
Думкин ©   (2007-02-09 12:44) [18]


> картинка сменяется чаще, чем 10 раз в секунду


> Конечно, 100 раз в сек. Моя ошибка ;-)


Это для визуализации в реальном времени или как? Человеку больше 25 кадров вроде не катит.


 
Darvin ©   (2007-02-09 13:00) [19]

>Думкин ©   (09.02.07 12:44) [18]
Анимация сигнала с частотой дискретизации 100 Гц


 
DiamondShark ©   (2007-02-09 13:19) [20]


> Darvin ©   (09.02.07 13:00) [19]

Это не значит, что анимировать надо пренепременно с частотой 100 к/сек
Человек всё равно не способен реагировать на изменения с такой частотой.

Кроме того, процесс анимации -- он "тяжёлый", и пытаться осуществить его синхронно с обработкой сигнала -- плохая затея.

Лучше поступить так.
1. Идёт накопление сигнала синхронно с источником.
2. Таймер генерирует события для отрисовки кадров. При отрисовке кадра рассчитываются и рисуются ВСЕ изменения, которые накопились со времени отрисовки последнего кадра. Кадр рисуется.


 
Amoeba ©   (2007-02-09 13:23) [21]

Может эта статья поможет:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=434


 
Darvin ©   (2007-02-09 13:52) [22]

>Amoeba ©   (09.02.07 13:23) [21]
Спасибо за ссылку. Попробую.



Страницы: 1 вся ветка

Текущий архив: 2007.02.25;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.029 c
4-1160561568
AlexT1000
2006-10-11 14:12
2007.02.25
Список установленных программ. Как его получить?


15-1170190420
ArtemESC
2007-01-30 23:53
2007.02.25
На второй год в университете...


2-1170748728
Клара
2007-02-06 10:58
2007.02.25
Запросы


2-1170672522
@tom
2007-02-05 13:48
2007.02.25
Нужно создать форму (таблицу из WORD).


15-1170545984
SergantSA
2007-02-04 02:39
2007.02.25
Помогите найти книгу