Показать сообщение отдельно
Старый 19.02.2011, 14:16   #1636
Местный
 
Аватар для Deffol
 
Регистрация: 17.02.2011
Сообщений: 118
Сказал Спасибо: 51
Имеет 2 спасибок в 2 сообщенях
Deffol пока неопределено
По умолчанию

Цитата:
Сообщение от Nickers Посмотреть сообщение
Deffol, 1мс это и так одновременно...
Нет, это намного дольше, чем через i...
То есть, с твоих слов я понял, что это минимальное значение таймера?

//J-Fobos: любая операция на компьютере занимает время, я думаю понятно что ничего не происходит мгновенно.

Цикл for i:=1 to 2000 do ; (пустой) выполняется за 62 мс (время определено практически). Если в цикл добавить операции, то время работы цикла увеличивается в зависимости от сложности и количества этих операций. Допустим время выполнения набора операций в этом цикле будет 2 мс, тогда время работы этого цикла с операциями будет 2*2000+62=4062 мс.

Пустой таймер, в котором будет указанно провести 2000 пустых операций будет (с задержкой в 1 мс) работать 2000 мс. Если в таймер добавить набор команд, на выполнение которого уходит 2 мс, то общее время работы таймера составит 2000+2=2002 мс. (это связанно с тем, что события таймера запускаются в отдельных потоках)

В итоге можно сделать вывод, что время работы таймера является меньшим чем время работы цикла, для набора действий больших 1 мс.

Последний раз редактировалось J-Fobos, 19.02.2011 в 15:51.
Deffol вне форума   Ответить с цитированием