|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
пишу простейший код в vb.net2019, где хочу показать прогресс бар, который заполнится за секунду по таймеру каждые 10мс. и обнаруживаю, что прогресс бар заполняется в полтора раза медленнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 12:47 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Слишком маленький интервал, скорее всего часть тиков пропускается. Проверь набольшем интервале, тогда сможешь судить о криворукости разработчиков vb.net (а не о собственной). Ну и код приведи, конечно же. P.S. Я в третий раз переношу тему из Visual Basic в VB.NET. Вообще-то уже можно было сообразить, где нужно задавать вопросы по VB.NET Модератор: Тема перенесена из форума "Visual Basic". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 12:50 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
вот такой код работает в 16 (!!!) раз медленнее, чем должен. в лейбле должен идти отсчет каждую секунду, а идёт 16 секунд Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Shocker.ProПроверь набольшем интервале, тогда сможешь судить о криворукости разработчиков vb.net - это на 1 кг заметно, а если будете покупать тоннами, то нормально, с вас тысяча ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 13:35 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Еще раз. Таймер 1 мс слишком маленький. Тики будут пропускаться, пока идет обработка Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
и всё волшебным образом теперь работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:19 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Но если ты еще сильнее нагрузишь обработчик тиков (если он станет работать дольше 10мс), то тики опять начнут пропускаться. Так устроена обработка таймера в WinForms (есть и другие таймеры) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:21 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
qlewerok вот такой код работает в 16 (!!!) раз медленнее ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:25 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Shocker.Pro и всё волшебным образом теперь работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:26 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Shocker.Pro qlewerok вот такой код работает в 16 (!!!) раз медленнее ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:28 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Если тебе нужно отмерять реально по 1мс, обычный Windows тебе не особо подойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 14:31 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Попробуй таймер из System.Threading. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 15:20 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Shocker.Pro P.S. Я в третий раз переношу тему из Visual Basic в VB.NET. Вообще-то уже можно было сообразить, где нужно задавать вопросы по VB.NET ТСы, наверное VB уже даже не застали ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 16:21 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Если там qlewerok только таймер и лейбел то от чего же он qlewerok сильно отстаёт От полета мысли, что ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 16:24 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
vb_sub Попробуй таймер из System.Threading. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
так же. в полтора раза медленнее реального времени считает с интервалом 10мс fkthis, как десять лет назад, когда начинал с vb6 на этом форуме, так и сейчас, раздражают спамеры ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:36 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Пробуй в дополнительном потоке его запускать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 17:54 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
vb_sub Пробуй в дополнительном потоке его запускать. Это ничего не даст - таймер из System.Windows.Forms работает в основном GUI-потоке, и срабатывает по оконным сообщениям, при запуске в отдельном потоке его придётся синхронизировать с основным. А другие таймеры (из System.Threading, System.Timers) хоть и срабатывают в своём отдельном потоке, но, поскольку вывод делаестя в label, то и их придется синхронизировать, и на этой синхронизации опять возникнут задержки. Подсчитывать точное время при наличии операций, завязанных на GUI - дело ещё то. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 07:54 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Подсчитывать точное время при наличии операций, завязанных на GUI - дело ещё то. В таких случаях надо просто не полагаться на таймер, а в обработчике события запрашивать настоящее текущее время (DateTime(Offset).(Utc)Now. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 10:27 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Shocker.Pro Еще раз. Таймер 1 мс слишком маленький. Тики будут пропускаться, пока идет обработка Мне, кстати, вот, любопытно он будет тики пропускать, или забъет очередь GUI своими сообщениями? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 10:34 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
fkthat Shocker.Pro Еще раз. Таймер 1 мс слишком маленький. Тики будут пропускаться, пока идет обработка Мне, кстати, вот, любопытно он будет тики пропускать, или забъет очередь GUI своими сообщениями? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 10:36 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Осталось только найти еще киберглаз, который сможет замечать изменения в Label с частотой в 1 мс. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 11:22 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
fkthat он будет тики пропускать ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 11:35 |
|
медленный бесполезный таймер
|
|||
---|---|---|---|
#18+
Shocker.Pro fkthat он будет тики пропускать Ну я выше как раз и написал, что непонятно, что ТС имеет в виду под словом "отстает". То ли тик пропускает, то ли этот тик приходит в хендлер только через полчаса. Тут уже привычно, что, чтобы дешифровать вопросы надо быть вторым Тьюрингом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2020, 12:01 |
|
|
start [/forum/topic.php?fid=20&msg=40013676&tid=1398444]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 136ms |
0 / 0 |