.NET Timer Controls работает быстрее, пока окно минимизируется

StackOverflow https://stackoverflow.com/questions/2166773

Вопрос

На самом деле это заметная разница, которую я видел, но не могу объяснить. Эти таймеры имеют интервалы, установленные на 1 мс (самый низкий доступный), но пока он минимизирован, кажется, отмечается быстрее? Может ли кто-нибудь объяснить это явление мне? И если возможно, объясните, как воспроизвести эффект, пока окно максимизировано?

Это было полезно?

Решение

Это Forms.Timer?

Я сомневаюсь, что он работает быстрее, более вероятно, что мероприятие для стрельбы таймера обрабатывается более своевременным образом. В то время как минимизируется, по-видимому, будет меньше сообщений, обрабатываемых на насосом «Сообщение Windows Form», которое может принять участие в более широком временном наресеке для обработки сообщений таймера. Существует также неудача минимального разрешения таймера.

Если применимо, попробуйте использовать один из других типов таймеров, таких как System.Timers

Компонент таймера формы Windows является однопоточным, и ограничен точностью 55 миллисекунд. Если вам требуется многопоточный таймер с большей точностью, используйте класс таймера в пространстве имен System.timers.

Реф.

Другие советы

Если я помню правильно, минимально разрешение вы можете выбраться из System.Windows.Forms.Timer (который я предполагаю, это то, что вы используете здесь) - 55 мс. Установка его до 1 мс, по сути означает, что он постоянно галочки.

Конечно, таймер не гарантирует, что клещи прибудут именно указанный интервал. Если ваше приложение занято, делая другие вещи (например, RedRawing на экране), то он может занять еще несколько мс, или значительно больше под тяжелой нагрузкой. Если таймер установлен на интервал в 1 секунду, вы не заметите это, но при минимальном окне (55 мс) вы можете.

Когда приложение сводится к минимуму, есть меньше других событий, которые могут прервать события таймера, прежде чем они пожали.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top