Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Возможно ли в Windows получение текущего времени   Найти похожие ветки 

 
Ega23 ©   (2008-03-24 10:26) [0]

с точностью до микросекунды? Если нет, то какой минимальный дискрет времени доступен?


 
31512   (2008-03-24 10:28) [1]

GetTickCount


 
Игорь Шевченко ©   (2008-03-24 10:35) [2]


> Если нет, то какой минимальный дискрет времени доступен?


QueryPerfomanceFrequency ?


 
Ega23 ©   (2008-03-24 10:43) [3]


> QueryPerfomanceFrequency ?


Похоже на то, что надо.


 
Григорьев Антон ©   (2008-03-24 12:47) [4]

Вот ещё один вариант: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=455


 
Mystic ©   (2008-03-24 13:15) [5]


> > QueryPerfomanceFrequency ?
>
>
> Похоже на то, что надо.


Не работает на современных процессорах с динамическим понижением частоты. На таких процессорах, например, наблюдается такой глюк: игрушка запускается нормально, а потом начинает работать с бешеной скоростью. Объяснение: при запуске процессор не нагружен и работает на более низкой частоте. В это время происходит вызов QueryPerfomanceFrequency, который возвращает пониженную частоту. Потом игрушка нагружает процессор и он переключается на более высокую частоту. Но QueryPerfomanceFrequency никто во второй раз не вызывает, и программа думает, что работает на более медленном процессоре :)


 
guav ©   (2008-03-24 13:40) [6]

> [5] Mystic ©   (24.03.08 13:15)

Ух ты. А GetTickCount() работает в этом случае (мне точность до десятых секунды нужна) ?


 
Григорьев Антон ©   (2008-03-24 13:55) [7]


> guav ©   (24.03.08 13:40) [6]
> > [5] Mystic ©   (24.03.08 13:15)
>
> Ух ты. А GetTickCount() работает в этом случае (мне точность
> до десятых секунды нужна) ?

Должен работать, он на прерываниях от таймера сделан, ему частота процессора без разницы.


 
Anatoly Podgoretsky ©   (2008-03-24 21:17) [8]

> Ega23  (24.03.2008 10:26:00)  [0]

Что такое время?

Но если это такты, то RDTSC (ассемблерная инструкция) дает в тактах процессора, примерно 300 пикосекунд, для 3 ггц процессора, если без учета влияния ОС
Попробуй в небольшом цикле с записью в массив и обязательно inline, а не вызов функции, вот так и узнаешь предельные возможности твоей системы. Есть еще GetPerformanceCounter тоже круто, но интервалы хуже, но можешь расчитывать на 100 наносек. Привет Медведю!


 
Поп Гапон   (2008-03-24 21:42) [9]


> Есть еще GetPerformanceCounter тоже круто, но интервалы
> хуже, но можешь расчитывать на 100 наносек. Привет Медведю!
>


QueryPerformanceCounter On a multiprocessor computer, it should not matter which processor is called. However, you can get different results on different processors due to bugs in the basic input/output system (BIOS) or the hardware abstraction layer (HAL). To specify processor affinity for a thread, use the SetThreadAffinityMask function.


 
homm ©   (2008-03-24 22:13) [10]

> Возможно ли в Windows получение текущего времени с точностью до микросекунды?

Этолько если это время с атомных часов, подсоединенных через USB порт.


 
VierUndZwanziger   (2008-03-26 16:45) [11]

А зачем? Задача прям, микросекундная, в натуре?
Я пользуюсь сервисом http://www.zln.ru/time/

Мне хватает :)

Помните Грибоедова Александра Сергеевича?

"Счастливые часовъ не наблюдаютъ"


 
REA   (2008-03-26 17:10) [12]

Во многих аппаратных ключах есть таймер - заодно и защиту сделаешь :)


 
Ega23 ©   (2008-03-26 17:22) [13]


> Но если это такты, то RDTSC (ассемблерная инструкция) дает
> в тактах процессора, примерно 300 пикосекунд, для 3 ггц
> процессора, если без учета влияния ОС


Я когда про RDTSC читал, то так понял, что это не для всех процессоров сработает.


> А зачем? Задача прям, микросекундная, в натуре?


Задача не микросекундная, задача состоит в получении псевдо-уникального значения. Точнее - сочетание G
UID + QPC.
Всем спасибо, вопрос уже снят.


 
Anatoly Podgoretsky ©   (2008-03-26 21:41) [14]

> Ega23  (26.03.2008 17:22:13)  [13]

А тебя есть 486 и меньше?


 
Pavia ©   (2008-03-26 22:25) [15]


> QueryPerfomanceFrequency, который возвращает пониженную
> частоту.

Она возращает фиксированное значение.  The frequency cannot change while the system is running.

Точность использования RDTSC зависит от точности таймера с которой производиличь замеры частоты процессора.


 
Pavia ©   (2008-03-26 22:25) [16]


> QueryPerfomanceFrequency, который возвращает пониженную
> частоту.

Она возращает фиксированное значение.  The frequency cannot change while the system is running.

Точность использования RDTSC зависит от точности таймера с которой производиличь замеры частоты процессора.



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
2-1208190577
Shifr
2008-04-14 20:29
2008.05.11
Помогите с заданием


15-1206501794
slider007
2008-03-26 06:23
2008.05.11
С днем рождения ! 26 марта 2008 среда


2-1208023431
xex32
2008-04-12 22:03
2008.05.11
Как отключить кнопку Alt


15-1206602366
@!!ex
2008-03-27 10:19
2008.05.11
VNC не хочет подключаться по интернету


2-1207839420
Vanis
2008-04-10 18:57
2008.05.11
Отрисовка картинок