|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Дек 30, 2003 12:55:57 Как сделать на Visual C++ паузу меньше одной милисекунды (1e-3)? Нужны наносекунды (1e-9), в крайнем случае микросекунды (1e-6). Помогите. |
|
|
Дата: Дек 30, 2003 13:23:31 Ну, можно поробовать так, но это от процессора зависеть будет. mov ecx, 25 ; здесь свое значение подобрать loop $ |
|
|
Дата: Дек 30, 2003 13:51:26 Спасибо, но мне нужно получить независимо от процессра. Причём это зависит от кол-ва процессов (а их число может меняется), поэтому нормально откалибровать по времени не получится. |
|
|
Дата: Дек 30, 2003 16:03:52 AZ87 1ГГц = 1 000 000 000 Гц = 1 / 10-9сек В компьютере есть один генератор с нужным вам периодом - тактовый генератор процессора. Поэтому см. совет masquer |
|
|
Дата: Дек 30, 2003 23:00:50 А как же кыш? оно ж предсказывается на ура... к тому же нихрена оно не точное будет. Хотя если шину заблокировать то наверное будет.. |
|
|
Дата: Дек 31, 2003 03:01:47 · Поправил: Dr.Golova узнай частоту проца и юзай rdtsc - будет тогда тебе щастье |
|
|
Дата: Дек 31, 2003 12:31:43 Попробуй QueryPerfomanceFrequency + QueryPerfomanceCounter. С помощью первой узнаешь частоту таймера, с помощью второй ожидаешь нужный промежуток... |
|
|
Дата: Дек 31, 2003 14:27:16 · Поправил: S_T_A_S_ Я неоднократно встречал обсуждения QueryPerfomanceFrequency. Основная проблема заключается в том, что виндос не является системой реального времени. Со всеми вытекающими... Особенно если речь идет о ТАКИХ задержках. Да что говорить, даже микрософт в NT-системах часы нормально отображать не может. Посмотрите на секундную стрелку ;) |
|
|
Дата: Янв 1, 2004 16:05:00 Любой способ в винде будет неточный, делай хоть с QueryPerfomanceCounter, хоть задержкой Loop'ом, хоть через rdtsc... А для точности до микросекунд, по-моему, хватит и QueryPerfomanceCounter. |
|
|
Дата: Янв 13, 2004 06:36:57 спасибо всем |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.055 |