Я настраиваю таймер для вызова события в моем приложении. Проблема заключается в том, что выполнение события искажается другими операциями Windows. Ex. открытие и окно, загрузка веб-страницы. Мне нужно, чтобы мероприятие проводилось точно вовремя, каждый раз.Необходимые события для выполнения событий таймера, точность метронома
Когда я впервые установил приложение, использовал звуковой файл, как метроном, чтобы прослушивать даже стрельбу, в устойчивом состоянии, его стрельба вправо, но как только что-то происходит в среде Windows, звук срабатывает медленнее, потом немного соскользнуть, чтобы догнать.
Итак, я добавил метод ведения журнала для события, чтобы установить таймер. Из этих данных кажется, что приложение-приложение не влияет на таймер, но на меня влияют мои вызовы приложений. Я понял это, проверив datetime.now в этом случае, и если я установил его в 250 миллисекунд, что составляет 4 клика в секунду. Вы получаете данные, как показано ниже.
(сек) :(мс)
1: 000 1: 250 1: 500 1: 750
2: 000 2: 250 2: 500 2: 750
3: 000 3: 250 3: 500 3: 750
(позволяет сказать, что я выполнить некоторые окна событий) (время будет искажать)
4: 122 4: 388 4: 600 4: 876
(прекратить делать то, что я делал в окнах) (собирается сократить данные simplicit, мой список был 30сек долго)
5: 124 5: 268 5: 500 5: 750
(вы бы себе время вернуться назад те же миллисекунды это было в начале)
6: 000 6: 250 6: 500 6: 750
7: 000 7: 250 7: 500 7: 750
Так я думаю таймер продолжает каждый раз срабатывать на одну и ту же миллисекунду, но это событие, которое перекошено, чтобы сэкономить время на других операциях с окнами. Его не огромный перекос, а то, что мне нужно выполнить, его неприемлемо.
Есть ли что-нибудь, что я могу сделать в .NET, надеясь использовать приложение XAML/WPF, thats исправит перекос событий?
thx.
Что-то, что я вижу после прочтения этого еще раз: каким образом вы пишете в журнал? Если вы сделаете это с доступом к файлу с промывкой, запись на диск может быть в миллисекундах. Поэтому вы должны действительно регистрироваться только в памяти. – mnemosyn