подскажите как получить мили секунды. придумал вот такой костыль, но это явно не то. Как добиться обновления каждую мили секунду? куда копать?
code_30224.txt
Этот топик читают: Гость
Ответов: 41
Рейтинг: 1
|
|||
карма: 0 |
| ||
файлы: 1 | code_30224.txt [675B] [107] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-10 22:08:15 |
|||
карма: 0 |
|
Ответов: 41
Рейтинг: 1
|
|||
37.45.222.229 писал(а): Да не надо глубоко копать, вполне хватит на пол лопаты в глубь справки: Timer .В начале справка потом форум! Конечно читал справку. Я же использую его. но он интегрирует события не каждую мили секунду, даже если поставить интервал 0. Да и боюсь что при большей скорости костыль сломается) вот из справки Одной из особенностью работы таймеров в ОС Windows является то, что на практике события не смогут приходить чаще, чем с задержкой в 20-30 мс. а с Thread или MMTimer мой костыль выдает ошибку) |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-10 22:08:15 |
|||
карма: 0 |
|
Ответов: 41
Рейтинг: 1
|
|||
вы не понимаете что VBJscript не сможет выполнится за 1 мили секунду?
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
petr1976 писал(а): интегрирует события |
|||
карма: 25 |
|
Ответов: 41
Рейтинг: 1
|
|||
Tad писал(а): это как ? |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Обновление инфы в интерфесном элементе не может происходить быстрее 10..15 мс. Так что про 1 мс можно смело забыть. Обычный таймер работает в синхронном режиме с обработчиком главного потока, и потому так же привязан к этим 10..15 мс, и не сработает до тех пор, пока не перерисуются все интерфейсные элементы. Чем больше интерфейсных элементов на форме, тем менее точным будет таймер, иногда задержка срабатыванмия таймера выше в разы его установок, и не всегда постоянная величина
|
|||
карма: 22 |
|
Ответов: 41
Рейтинг: 1
|
|||
nesco писал(а): элементе не может происходить быстрее 10..15 мсА если не обновлять информацию в интерфейсных элементах? а просто сравнивать, и при определенном значении выдавать событие? мой VBJscript в любом случае будет выполнятся дольше 1 мили секунды( |
|||
карма: 0 |
|
Ответов: 8930
Рейтинг: 823
|
|||
petr1976 писал(а): мой VBJscript в любом случае будет выполнятся дольше 1 мили секунды
nesco писал(а): Обновление инфы в интерфесном элементе не может происходить быстрее 10..15 мс |
|||
карма: 19 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Леонид писал(а): А в графиках тоже?Где конкретно, в каком графике |
|||
карма: 22 |
|
Ответов: 8930
Рейтинг: 823
|
|||
nesco, например, здесь: http://forum.hiasm.com//getfile/29643
|
|||
карма: 19 |
|
Ответов: 41
Рейтинг: 1
|
|||
Леонид
Мне нужно выполнить событие по таймеру, не замерить время( допустим 12:23:12:157 завел и именно в этот момент произошло событие. |
|||
карма: 0 |
|
Разработчик
Ответов: 26164
Рейтинг: 2127
|
|||
Леонид писал(а): например, здесьВот ты упертый Я же тебе объяснял, а ты уже забыл, что синхронный выход потока работает в основной очереди событий и никак не может влиять на скорость перерисовки (а вот сам от нее зависит), тк обработчик не выполнит следующую команду, не закончив предыдущую, или вообще ее в хвост очереди не поставит. Применительно к схеме это означает, что на синхронном выходе потока ты не получишь итерации в 1 мсек никак и никогда, это будет предельно недостижимая величина. ------------ Дoбавленo в 00.43: petr1976 писал(а): 12:23:12:157 завел и именно в этот момент произошло событиеПроизойдет, но только с допуском +10..15 мсек. Но может и больше, все зависит от нагрузки на комп, кол-ве ядер, открытых окон приложений и тд. Это если спользовать обычный таймер, если использовать MMTimer, то такую точность можно добиться, но нельзя его событие ставить на интерфесные элементы |
|||
карма: 22 |
|
Ответов: 41
Рейтинг: 1
|
|||
nesco писал(а): Произойдет, но только с допуском +10..15 мсек.Можете описать алгоритм? |
|||
карма: 0 |
|