A2 & Oberon » Программирование » Общеe » Измерение времени

Страниц (1): [1]
 

1. MaDzi - 11 Марта, 2012 - 10:53:53 - перейти к сообщению
У меня есть небольшая задача, в которой требуется производить измерение времени между событиями (например, нажатием на кнопку, щелчком мыши, поступлением пакета и т.п.).

Но производить это нужно точно, чем выше точность - тем лучше. В связи с этим вопрос:
В новой версии A2 есть возможность писать приложения реального времени {REALTIME}.
Насколько такое приложение будет защищено от воздействия внешних факторов (сборка мусора, и т.п.) в случае необходимости измерения точных промежутков времени ?

Абсолютную точность я могу получить только на Native A2, или можно будет использовать WinAos (UnixAos) для получения приблизительных результатов (не хуже микросекунд) ?
2. lit-uriy - 19 Марта, 2012 - 18:48:29 - перейти к сообщению
я думаю в А2 есть какой-нибудь системный таймер, который быстро тикает его-то и нужно использовать.
(на Си для разных платформ/компиляторов есть тут , может натолкнёт на мысль)
3. sage - 22 Марта, 2012 - 09:11:33 - перейти к сообщению
А это не сгодится?
Две реализации таймера, для WinAos и натива:
http://trac.assembla.com/oberonr...PreciseTimer.Mod
http://trac.assembla.com/oberonr...PreciseTimer.Mod
Под нативом, кстати, не понял, как точно узнать частоту тиков точного таймера. Где-то в А2 нашёл код, который втупую эстимейтит частоту путём нескольких замеров, что слегка подтормаживает загрузку модуля, а так-же даёт слегка неточные показания в результате, поскольку эстимейтит не точно. Но точность всё-равно получается выше чем у миллисекундного таймера.

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0045]     [ Gzipped ]