Проблема с таймерами заключается в том, что она в некотором смысле зависит от операционной системы.Работа таймера должна планироваться ОС, и, если есть другой высокоприоритетный процесс, потребляющий большую часть вычислительной мощности, он может принять решение запланировать запуск своего кода на более позднее время, что даст больше времени для другой, более важной работы.прогресс.
По большей части новые таймеры, вероятно, более надежны, но они настолько же надежны, как и подсистема.Я не уверен, реализует ли Windows аппаратные таймеры (которые являются более надежными) или если .NET VB использует его, если он это делает, но из того, с чем я работал в прошлом, кажется, что он ударил или пропустил.Большую часть времени он почти не работает с очень небольшим запасом, и в других случаях я видел, как при определенных условиях он задерживается на одну секунду.
Мой совет: не используйте сны, а используйте таймеры.и у вас не должно быть очень много проблем.
PS: это происходит относительно трудно в течение ТОЧНЫХ интервалов времени, обычно будет разница в пару миллисекунд, поэтому вам не следует полагаться на очень и очень точноеТаймер гранулярности.