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

Вниз

О точных временных интервалах ...   Найти похожие ветки 

 
VuDZ ©   (2002-01-25 09:41) [6]

1. вот кусочек из моей проги для определения частоты проца - точность 100%

naked означает, что операторы для входа и выхода из ф-ии пишу я, а не компилятор
__declspec(naked)
__int64 GetCpuTick()
{ __asm {
rdtsc
ret
// тут получается хитрый момент, но факт в том, что
// возвращается сразу кол-во тактов проца прошедшее с моменда
// старта без доп. команд - слава С :)
} }

// с этим, я думаю, разобраться не проблема
double GetCpuFrequency ()
{
__int64 Frequency,
TimerCount1,
TimerCount2,
CpuCount1,
CpuCount2; if (!QueryPerformanceFrequency ((LARGE_INTEGER*) &Frequency)) return 0;

QueryPerformanceCounter ((LARGE_INTEGER*) &TimerCount1);

CpuCount1 = GetCpuTick ();
Sleep (500);
CpuCount2 = GetCpuTick ();
QueryPerformanceCounter ((LARGE_INTEGER*) &TimerCount2);
if (TimerCount1 == TimerCount2) return 0;
return ((double) ((CpuCount2 - CpuCount1) * Frequency) /
(double) (TimerCount2 - TimerCount1));
}


2. итак, мы имеем частоту проца. на основе этого вычисляем кол-во тактов, которое надо ждать, и потом просто ждём.
точность под виндой +/- 100-1000 тактов, всё зависит от привилегий процессора



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

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

Наверх




Память: 0.46 MB
Время: 0.016 c
1-80925
Fareader
2002-04-11 11:23
2002.04.25
Русский язык в F1Book


14-81069
Oleg_V
2002-03-19 05:45
2002.04.25
Братья програмеры помогите, как зделать форму с неровными краями!!???


1-80981
vaka
2002-04-12 14:03
2002.04.25
Помогите с мануалами, люди добрые:-)


1-80943
Semyon
2002-04-11 17:51
2002.04.25
system tray


1-80947
snoup
2002-04-11 22:55
2002.04.25
Дайти кто-нибудь простинький кодик как сделать кнопку круглой?