Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Возможно ли в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
15-1206382716
Новый пользователь
2008-03-24 21:18
2008.05.11
Имена MDIForm типа как в 1С


15-1206955405
adm
2008-03-31 13:23
2008.05.11
Сжатие


15-1206515574
usr
2008-03-26 10:12
2008.05.11
MS SQL Server 2000


15-1206463964
DillerXX
2008-03-25 19:52
2008.05.11
Помогите с матаном кому не лень


2-1208109639
Shifr
2008-04-13 22:00
2008.05.11
Шифрование даных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский