| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Измерение времени между засечками в программе... |
| Автор: Pakshin A. S. 6.11.2006, 22:35 |
| Помню, что сталкивался с этой проблемой и может даже задавал вопрос, но по поиску я что-то дельного не нашел... Итак, в каком-то месте программы мы делаем засечку времени. В другом месте программы почти рядом мы также делаем засечку времени. Нужно узнать: сколько прошло времени от первой засечки до второй. ПРобовал работать через обычные наши временные классы, но они не дают нужной очности измерений, атк как вторая засечка может стоять в одной милисекунде от первой. Как реализовать нужное? Пример пожно рассмотреть на примитиве: ... засечка1 s:=0; for i:=1 to 100 do s:=s+i; засечка2 вывод промежутка времени между первой и второй засечкой в милисекундах ... |
| Автор: anwe 6.11.2006, 22:42 |
| Можно использовать отсчет системного таймера (по прерыванию таймера). Эти данные находятся по адресу 0:046С. |
| Автор: Romikgy 6.11.2006, 22:52 |
| GetTickCount имхо можно точнее но там сложнее Добавлено @ 22:53 не заметил сразу , значит подойдет геттиккоунт |
| Автор: Alexeis 6.11.2006, 22:55 |
| QueryPerformanceCounter QueryPerformanceFrequency И еще есть целый модуль Петровича в закрепленной теме "Арсенал форумистов" http://forum.vingrad.ru/index.php?showtopic=21411 |
| Автор: Pakshin A. S. 6.11.2006, 22:55 |
| |
| Автор: Alexeis 6.11.2006, 23:02 |
Не он дает с точностью 10мс, QueryPerformanceCounter меньше 1 мс. |