Вверх ↑
Этот топик читают: Гость
Ответов: 41
Рейтинг: 1
#1: 2013-01-30 22:22:18 ЛС | профиль | цитата
подскажите как получить мили секунды. придумал вот такой костыль, но это явно не то. Как добиться обновления каждую мили секунду? куда копать?
code_30224.txt
карма: 0

0
файлы: 1code_30224.txt [675B] [107]
Гость
Ответов: 17029
Рейтинг: 0
#2: 2013-01-30 22:27:20 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 22:08:15
карма: 0

0
Ответов: 41
Рейтинг: 1
#3: 2013-01-30 22:30:12 ЛС | профиль | цитата
37.45.222.229 писал(а):
Да не надо глубоко копать, вполне хватит на пол лопаты в глубь справки: Timer .
В начале справка потом форум!

Конечно читал справку.
Я же использую его. но он интегрирует события не каждую мили секунду, даже если поставить интервал 0. Да и боюсь что при большей скорости костыль сломается)

вот из справки
Одной из особенностью работы таймеров в ОС Windows является то, что на практике события не смогут приходить чаще, чем с задержкой в 20-30 мс.

а с Thread или MMTimer мой костыль выдает ошибку)
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2013-01-30 22:43:09 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-10 22:08:15
карма: 0

0
Ответов: 41
Рейтинг: 1
#5: 2013-01-30 22:53:24 ЛС | профиль | цитата
вы не понимаете что VBJscript не сможет выполнится за 1 мили секунду?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2013-01-30 23:10:27 ЛС | профиль | цитата
petr1976 писал(а):
интегрирует события
это как ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 41
Рейтинг: 1
#7: 2013-01-30 23:14:30 ЛС | профиль | цитата
Tad писал(а):
это как ?
Ну вы же поняли меня
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#8: 2013-01-30 23:35:05 ЛС | профиль | цитата
Обновление инфы в интерфесном элементе не может происходить быстрее 10..15 мс. Так что про 1 мс можно смело забыть. Обычный таймер работает в синхронном режиме с обработчиком главного потока, и потому так же привязан к этим 10..15 мс, и не сработает до тех пор, пока не перерисуются все интерфейсные элементы. Чем больше интерфейсных элементов на форме, тем менее точным будет таймер, иногда задержка срабатыванмия таймера выше в разы его установок, и не всегда постоянная величина
карма: 22

0
Ответов: 41
Рейтинг: 1
#9: 2013-01-30 23:42:24 ЛС | профиль | цитата
nesco писал(а):
элементе не может происходить быстрее 10..15 мс

А если не обновлять информацию в интерфейсных элементах? а просто сравнивать, и при определенном значении выдавать событие? мой VBJscript в любом случае будет выполнятся дольше 1 мили секунды(
карма: 0

0
Ответов: 8930
Рейтинг: 823
#10: 2013-01-30 23:53:16 ЛС | профиль | цитата
petr1976 писал(а):
мой VBJscript в любом случае будет выполнятся дольше 1 мили секунды
А зачем заставлять его работать через миллисекунду Есть же спецкомпонент для вычисления разницы и в милли- и в микросекундах

Add(TimeCounter,11732239,245,322)
{
}
------------ Дoбавленo в 23.53:
nesco писал(а):
Обновление инфы в интерфесном элементе не может происходить быстрее 10..15 мс
А в графиках тоже?
карма: 19

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#11: 2013-01-30 23:56:01 ЛС | профиль | цитата
Леонид писал(а):
А в графиках тоже?

Где конкретно, в каком графике
карма: 22

0
Ответов: 8930
Рейтинг: 823
#12: 2013-01-31 00:09:27 ЛС | профиль | цитата
nesco, например, здесь: http://forum.hiasm.com//getfile/29643
карма: 19

0
Ответов: 41
Рейтинг: 1
#13: 2013-01-31 00:34:44 ЛС | профиль | цитата
Леонид
Мне нужно выполнить событие по таймеру, не замерить время( допустим 12:23:12:157 завел и именно в этот момент произошло событие.
карма: 0

0
Разработчик
Ответов: 26164
Рейтинг: 2127
#14: 2013-01-31 00:43:04 ЛС | профиль | цитата
Леонид писал(а):
например, здесь

Вот ты упертый Я же тебе объяснял, а ты уже забыл, что синхронный выход потока работает в основной очереди событий и никак не может влиять на скорость перерисовки (а вот сам от нее зависит), тк обработчик не выполнит следующую команду, не закончив предыдущую, или вообще ее в хвост очереди не поставит. Применительно к схеме это означает, что на синхронном выходе потока ты не получишь итерации в 1 мсек никак и никогда, это будет предельно недостижимая величина.
------------ Дoбавленo в 00.43:
petr1976 писал(а):
12:23:12:157 завел и именно в этот момент произошло событие

Произойдет, но только с допуском +10..15 мсек. Но может и больше, все зависит от нагрузки на комп, кол-ве ядер, открытых окон приложений и тд. Это если спользовать обычный таймер, если использовать MMTimer, то такую точность можно добиться, но нельзя его событие ставить на интерфесные элементы
карма: 22

0
Ответов: 41
Рейтинг: 1
#15: 2013-01-31 00:47:36 ЛС | профиль | цитата
nesco писал(а):
Произойдет, но только с допуском +10..15 мсек.

Можете описать алгоритм?
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)