![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Опрос за короткие промежутки времени [D6, Win95/98]
pnp © (2002-08-13 20:19:00)Знатоки! Необходимо выполнять определенный набор команд каждые 100 мкс. Воэможно ли это в Delphi и как? Буду благодарен за пример.
Спасибо!
y-soft (2002-08-14 13:24:00) [1]Слишком высокий приоритет процесса приводит к нестабильности ОС.
Кроме того в разных билдах (даже не версиях!) Windows переключение задач осуществляется по разному (и не документировано). Даже при гораздо больших временах (до сотен миллисекунд) под NT приходится подстраиваться под конкретную аппаратную конфигурацию, но и в этом случае возникают своеобразные периодические девиации периода
Поэтому, как правило, процессы реального времени либо реализуют аппаратно, либо используют специализированное ядро реального времени, либо в качестве ОС используют QNX или что-нибудь подобное. Если требования не очень суровые, то кое-что можно сделать на уровне драйверов, но Delphi тут вряд ли поможет
MrBeer (2002-08-14 08:22:00) [2]2 pnp:
100 mikrosekund eto dostatochno malo. Dazhe esli s zadraenim priotetom v TC + proverka RDTSC v loop-e budet rabotatj, to stabilnstji skoree vsego ne budet, t.k. nado ili realtime yadro ili kak minimum low latency, a v NT net ne togo ne drugovo (ne govorya uzhe o W9x)
Lexa18 (2002-08-13 23:08:00) [3]Есть специальный компонент - Timer! Посмотри на закладке System
Ученик (2002-08-13 21:40:00) [4]Может попробовать SetWaitableTimer
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/synchro_2bcj.asp
y-soft (2002-08-13 21:01:00) [5]Без ядра реального времени (существует такая специальная версия Windows NT) в общем случае невозможно. Причина не в Delphi, а в Windows