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

Вниз

Снова о времени загрузки винды.   Найти похожие ветки 

 
Layner ©   (2004-04-14 10:55) [0]

Получаю время GetTickCount, но это только до 49 суток, а потом снова с нуля, но как тогда WIn2000 показывает, что работает например 100 дней? Т.е. в этом случае есть наверняка ключь в реестре, где говорится сколько переиодов по 49 дней открыта винда? Если кто сталкивался с этим вопросом, подскажите плз.!


 
VMcL ©   (2004-04-14 11:24) [1]

asm
 RDTSC
end;

?


 
Layner ©   (2004-04-14 15:59) [2]

мастера, подскажите 2й момент, написал такой код с подачи VMcL (Спасибо!)

function GetCPUCount:int64; assembler;
asm
 db 0fh,31h
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var
d,H,M,Sec : integer;
tm : integer;
begin
 Tm:=Round(GetCPUCount/1800000000); //моя частота проца, 1,8гиг
  d:=Trunc(Tm/86400);
 Tm:=Tm-d*86400;
  H:=Trunc(Tm/3600);
 Tm:=Tm-H*3600;
  M:=Trunc(Tm/60);
 Tm:=Tm-M*60;
  Sec:=Trunc(Tm/1);

 Edit1.Text:=IntToStr(d)+" "+IntToStr(h)+" "+IntToStr(m)+" "+IntToStr(Sec);
end;


Но есть расхождение с реальными часами, т.е. если машина работает 55 дней, 10 часов, то мой код кажет на 6 часов меньше. Может реальную частоту как то можно точно выставить, а не так, как я сейчас делаю, наугад...(1,8гиг, +,-, 2-3 килогерца)


 
Layner ©   (2004-04-14 16:13) [3]

ПРоверил, реальная частота, судя по программе Cpu-Z 1817,9 мегагерц, а как точно бы, из Delphi ее узнать :(


 
VMcL ©   (2004-04-14 16:14) [4]

Точно 1,8? Может, например, Athlon XP 1.8?

Сделай универсально, а не только для твоего компа. Сначала с помощью RDSTC + QueryPerformanceCounter() + QueryPerformanceFrequency() замерь частоту CPU, потом используй.


 
VMcL ©   (2004-04-14 16:16) [5]

И еще нюанс. RDSTC считает от запуска процессора, а не ОС.


 
Layner ©   (2004-04-14 16:21) [6]

А, понял, но запуск ОС, почти что запуск PC для меня, т.е. +-3 минуты на страшно, а за замер частоты с помощью этих ф-й, спасибо, воспользуюсь!


 
VMcL ©   (2004-04-14 16:28) [7]

>>Layner ©  (14.04.04 16:21) [6]

В теории, функции QueryPerformance*() могут не поддерживаться текущим железом. В таком случае для определения частоты CPU воспользуйся GetTickCount - не так точно, но всё равно неплохо.


 
Layner ©   (2004-04-14 16:36) [8]

Так то так, но GetTickCount до 49 дней инфу держит, а потом обнуляется.. Кстати, скорость вычислил до герца, точность времени почти совпадает.


 
VMcL ©   (2004-04-15 12:52) [9]

>>Layner ©  (14.04.04 16:36) [8]

>Так то так, но GetTickCount до 49 дней инфу держит, а потом обнуляется
Для подсчета тактовой частоты CPU этого хватит. А дальше уже используй RDTSC.



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

Форум: "Система";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
1-1083908296
Sla
2004-05-07 09:38
2004.05.23
Режим доступа к ТЕКСТОВОМУ файлу


1-1083638124
Kair
2004-05-04 06:35
2004.05.23
Alt + F4


7-1080714655
c13prog
2004-03-31 10:30
2004.05.23
Как определить название диска в CD-ROM?


14-1083696321
СанСаныч
2004-05-04 22:45
2004.05.23
Где найти аналог программы Help Development Studio?


6-1081231259
Сергей Ю.
2004-04-06 10:00
2004.05.23
Сниффер





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский