Пожалуйста, будьте добры, я просто изучаю C# и наследую это приложение от бывшего сотрудника - это мой первый проект C#.Непоследовательные интервалы с System.Windows.Forms.Timer
Я наблюдаю непоследовательные и медленные периоды с помощью System.Windows.Forms.Timer. Приложение написано на C# с MS Visual Studio.
Таймер установлен на интервал 100 мс, но я наблюдаю периоды от 110 мс до 180 мс.
Я использую несколько инструментов для наблюдения этого в то числе: - на SW осциллографа (пакета Iocomp.Instrumentation.Plotting.Plot), - настоящий осциллограф, - Позволить запуск таймера в течение некоторого времени и сравнивая число тиков * 100 мс как для системного времени, так и для секундомера.
Во всех случаях я наблюдаю 10% -ное отставание, которое становится очевидным в течение первых нескольких секунд.
Методы, выполняемые с каждым тиком, занимают менее 4 мс для запуска. Также не происходит асинхронной обработки времени. Однако это не имеет значения, поскольку таймер-таймер является прерыванием, а не событием, добавленным в очередь обработчика событий (насколько я знаю).
У кого-нибудь возникла такая проблема? Каковы были причины?
Спасибо.
выглядит так уже решен Андре Saffin (http://stackoverflow.com/questions/21027375/how-to- [для ссылки нажмите здесь] c-sharp-несколько-точные таймеры-точно-для-10-миллисекунд-интервал) – 2014-09-16 18:58:28
Спасибо за ответ. Я ценю это. – ErikB