Способы формирования задержек
Участников: 4
Страница 1 из 1
Способы формирования задержек
Какие есть способы формирования задержек выполнения программы (микросекундных, миллисекундных)?
workman- Сообщения : 25
Дата регистрации : 2010-12-03
Re: Способы формирования задержек
Функция Sleep(Nms,flag)
nms -кол-во миллисекунд
flag - если 1, то нельзя прервать клавишей
Если без параметров, то ждет нажатие клавиши
nms -кол-во миллисекунд
flag - если 1, то нельзя прервать клавишей
Если без параметров, то ждет нажатие клавиши
- Код:
Print "111"
Sleep(1000,1)
Print "222"
Sleep(1000,1)
Print "Down Esp"
sleep
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: Способы формирования задержек
Спасибо, про это я в курсе, думал может еще какие способы есть. Как быть если нужны микросекундные задержки?
workman- Сообщения : 25
Дата регистрации : 2010-12-03
Re: Способы формирования задержек
Вот здесь посмотри:
http://www.progz.ru/t7971/
я думаю ты найдешь ответ на свой вопрос.
http://www.progz.ru/t7971/
я думаю ты найдешь ответ на свой вопрос.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: Способы формирования задержек
Да, спасибо, многое прояснилось
workman- Сообщения : 25
Дата регистрации : 2010-12-03
Re: Способы формирования задержек
А если для формирования минимальной задержки использовать команду(ы) "nop" (нет операции) ?
workman- Сообщения : 25
Дата регистрации : 2010-12-03
Re: Способы формирования задержек
workman пишет:А если для формирования минимальной задержки использовать команду(ы) "nop" (нет операции) ?
Все компьютеры разной конфигурации, если что-то у тебя будет на данный момент работать правильно, на другой машине будет работать быстрее или медленнее. Я не вижу смысла от таких задержек, все равно все упирается в операционную систему, и то как она в этот момент обработает сообщения. Попробуй запустить простой код несколько раз и ты увидишь даже здесь разницу:
- Код:
Dim Start As Double:Dim a As double
Start = Timer
Do
a=a+1
Loop Until a>100000000
? (Timer - Start)
sleep
Последний раз редактировалось: trew (Чт Апр 07, 2011 5:25 am), всего редактировалось 1 раз(а)
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: Способы формирования задержек
Понятно, что вычислительные мощности разные.
Но команды типа Sleep делают одинаковую задержку везде
Но команды типа Sleep делают одинаковую задержку везде
AWPStar- Сообщения : 6
Дата регистрации : 2011-04-05
Re: Способы формирования задержек
Sleep тоже не гарантирует, что задержка будет в точности соответсвовать переданному параметру. Так как Windows не ОС реального времени, то система оставляет за собой право передать управление потоку в любое время. Sleep только лишь указывает планировщику, что указанное количество миллисекунд поток не учавствует в "розыгрыше" процессорного времени. Создавать же каким-либо образом микросекундные задержки (да и вообще задержки меньше порядка 10 мс) не имеет смысла.
DiG. GeRR- Сообщения : 101
Дата регистрации : 2009-01-30
Возраст : 32
Откуда : Рудный, Казахстан
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|