Главная страница
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.037 c
15-1206806482
Denis__
2008-03-29 19:01
2008.05.11
KERNEL32.DLL


15-1206640524
Сашик
2008-03-27 20:55
2008.05.11
Вложеные файлы


15-1206607633
Ламо777
2008-03-27 11:47
2008.05.11
Apache&SSL - перенаправление


15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


2-1207744253
Zloi_Funtik
2008-04-09 16:30
2008.05.11
удаление ранее созданных динамических объектов