Al Prad писал(а):Если не ошибаюсь, ставить меньше 18 миллисекунд бесполезно - ограничено скоростью windows...
В
старых, добрых традициях этого форума, вот на эту реплику можно было бы, как это уже давно принято здесь, написать что-то типа: ЧУШЬ, БРЕД, АХИНЕЯ и т.п. Странно, что до сих пор этого никто не сделал! Но, видимо, подобные обвинения имеют какую-то избирательную направленность.
Вобщем, позволю себе нарушить традиции, не стану опускаться к столь низкому проявлению «уважения» к автору, а просто напишу, что это не совсем правильно и он таки ошибается.
По сути, так...
Не скоростью windows... а это аппаратное ограничение. И не 18 миллисекунд... - часовой таймер PC возвращает время с приращением в 1/18 (18,21 раза в секунду) – в 1 секунде 1000 миллисекунд, поэтому 1000/18,21=54,9 ~ 55 миллисекунд.
Сделать считалку с точность в 1 мсек все-таки можно, другое дело нет такого (а может я просто не знаю такого) таймера, который бы в Windows смог отобразить прогресс такого счета в том же TextBox. Ведь считать – это одно, а вот еще и отображать счет с таким же интервалом – это уже сложнее.
Таймер VB похоже работает на базе API – SetTimer, поэтому и он, и сам SetTimer, и отдельный просто счетчик GetTickCount, и др. – все используют аппаратный таймер PC с ограничением в 1/18. Именно в этом и будет проблема.