Re[4]: Послать UDP сообщение по быстрому
От: qqqqq  
Дата: 07.10.05 00:19
Оценка:
MN>Не сможете. Даже в режиме ядра минимальная временная погрешность (один тик) определённый MS равен 20 ms (на практике он как правило не достижим, обычно погрешность больше). Что это означает: в исключительных условиях (на ооочень быстрой машине и с благоприятной фазой луны) в вашем драйвере вы сможете отсчитывать время с точность до 20 ms (ваш таймер будет срабатывать каждые 20ms — 20ms, 40ms, 60ms и т.д.) большая точность простосто не достижима! Так что забудьте от 19ms или 21ms даже в режиме ядра... про user-mode я вообще молчу...

По моему, Ваши сведения немного устарели. Если бы все было бы так плохо то тогда многие программы, которые сейчас уже стали привычными, просто бы не работали.К тому же у Windows таймер по умолчанию настроен на 10ms а не 20. 20мс это ну очень долго. Самый простой путь наверное будет использовать мультимедиа таймеры см. http://www.sysinternals.com/Information/HighResolutionTimers.html
Вообще тема таймеров и реал-таймености Windows заслуживает отдельной ветки в разделе Низкоуровневое программирование. Здесь я бы хотел узнать о хороших сетевых библиотеках у которых время затрачиваемое за посылку пакета более менее постоянное.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.