|
Timer отстает
|
|||
---|---|---|---|
#18+
Добрый день! В программе встроен Timer который отсчитывает секунды, минуты, часы. Программа была написана несколько лет назад и под Windows XP все считалось правильно. Но сейчас под Windows 7 Timer отстает на ~1 минуту в час. Т.е. за день набегает до 10 минут. С чем это может быть связано? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 16:51 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLДобрый день! В программе встроен Timer который отсчитывает секунды, минуты, часы. Программа была написана несколько лет назад и под Windows XP все считалось правильно. Но сейчас под Windows 7 Timer отстает на ~1 минуту в час. Т.е. за день набегает до 10 минут. С чем это может быть связано? какой таймер используешь ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 09:23 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLНо сейчас под Windows 7 Timer отстает на ~1 минуту в час. И как считаешь отставание? И с какими параметрами таймер запущен? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:00 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
pation, использую таймер в комплекте vs2008 ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:25 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Arm79, Секундомером я не замерял. Отставание видны в конце рабочего времени, когда после 8 часов отставание ~10 минут. Параметр Timer Interval 1000- секунда. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:30 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLиспользую таймер в комплекте vs2008 В комплекте VS никакого таймера нет. Таймеры есть в .Net - System.Timer, System.Timers.Timer, System.Threading.Timer. Если подняпрячься, можно поработать и с Multimedia Timer ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:55 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLС чем это может быть связано?С большой погрешностью используемого таймера? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:57 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLПараметр Timer Interval 1000- секунда. Погрешность таймера (стандартного) около 10-15 мс. Итого, в час 3600 срабатываний. Берем худший случай: 3600 * 15 мс = 54 секунды в час. + если вы используете однопоточный таймер, типа Forms.Timer - там итерации отсчитываются после завершения предыдущего. Так что добавьте время на обработку одной итерации. Если в ней обращение к БД, то там уже приличные тайминги будут ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 10:59 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Алексей К, под Windows XP все считалось правильно... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 11:00 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Arm79, Да, спасибо. Я уже тоже об этом думал. Но что повлияло на работу таймера под Windows7. Неужели под Windows XP время на обработку несущественно... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 11:04 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
Lexx_SQLArm79, Да, спасибо. Я уже тоже об этом думал. Но что повлияло на работу таймера под Windows7. Неужели под Windows XP время на обработку несущественно... Учитывая, что вы не колетесь ни типом таймера, ни содержанием обработки итерации, всё, что я скажу - гадание на кофейной гуще. А таланта гадания у меня маловато. Вполне возможно, что на XP квантование потоков немного другое, или количество запущенных потоков в системе сильно меньше, или быстрее отрисовка на форме. Да мало ли что... Вообще неправильно рассчитывать, что таймер будет давать точно выверенные интервалы хотя бы потому, что Windows - не реал-тайм система ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 11:12 |
|
Timer отстает
|
|||
---|---|---|---|
#18+
...не зная потребности отсчёта времени... если только получить время работы программы, то стоит от текущего времени отнять фиксированное время начала работы программы... таким образом не зависеть от тикетов и погрешностей... например вот так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 00:51 |
|
|
start [/forum/topic.php?fid=20&fpage=130&tid=1403344]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 133ms |
0 / 0 |