Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизGetTickCount Найти похожие ветки
← →
Zloy_dima (2004-08-10 15:29) [0]Требуется измерять время с большой точностью. Если что то подобное GetTickCount?
← →
Ega23 © (2004-08-10 15:33) [1]Требуется измерять время с большой точностью.
Насколько большой?
← →
Zloy_dima (2004-08-10 15:35) [2]Желатьльно в мкс
← →
Anatoly Podgoretsky © (2004-08-10 15:40) [3]Тогда не подойдет, у него разрешающая способность 1 миллисекунда, а точность еще меньше.
← →
Ega23 © (2004-08-10 15:42) [4]Если мне память не изменяет, то на уровне ядра можно поточнее достучаться. Но дискрет в мкс... Не уверен.
← →
TUser © (2004-08-10 15:56) [5]В мкс нельзя. Стандарное АО не позволяет. Если можешь подключиться к атомным часам - тогда, конечно.
← →
Zloy_dima (2004-08-10 15:59) [6]Как я понял у GetTickCount-а точность 0.01 сек., нужно не больше 0.001 сек.
← →
Ega23 © (2004-08-10 16:02) [7]нужно не больше 0.001 сек.
Это не мкс, это млс, ты на 3 порядка ошибся.
← →
Zloy_dima (2004-08-10 16:08) [8]Я сказал желательно...
← →
ALS © (2004-08-10 16:28) [9]Можно измерять время с разрешением, соответствующим частоте процессора. Ассемблерная инструкция RDTSC возвращает число тактов. При старте ставишь RealTime priority, измеряешь квант процессора, скажем, за 1 сек., возвращаешь Normal приоритет. Зная квант, можно измерять времена. Пример использования RDTSC:
function RDTSC: Int64;
var TimeStamp: packed record
case byte of
1: (Whole: Int64);
2: (Lo,Hi: longint);
end;
begin
asm
dw 310Fh // rdtsc
mov [TimeStamp.Lo],eax
mov [TimeStamp.Hi],edx
end;
Result := TimeStamp.Whole
end;
← →
Zloy_dima (2004-08-10 16:39) [10]ALS ©> Большое спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c