Delphi-Help

Главная Статьи Процессор Как определить тактовую частоту процессора?

Как определить тактовую частоту процессора?

Оцените материал
(0 голосов)


Как определить тактовую частоту процессора?

function TForm1.getCPUSpeed: string;
const
  DelayTime = 500;
var
  TimerHi, TimerLo: dword;
  PriorityClass, Priority: integer;
  Speed: double;
begin
   PriorityClass := GetPriorityClass( GetCurrentProcess );
   Priority := GetThreadPriority( GetCurrentThread );
   SetPriorityClass( GetCurrentProcess, REALTIME_PRIORITY_CLASS );
   SetThreadPriority( GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL );
   Sleep( 10 );
   asm
      dw  310Fh
      mov TimerLo, eax
      mov TimerHi, edx
   end;
   Sleep( DelayTime );
   asm
      dw  310Fh
      sub eax, TimerLo
      sbb edx, TimerHi
      mov TimerLo, eax
      mov TimerHi, edx
   end;
   SetThreadPriority( GetCurrentThread, Priority );
   SetPriorityClass( GetCurrentProcess, PriorityClass );
   Speed := TimerLo / ( 1000.0 * DelayTime );
   Result := Format( '%f MHz', [Speed] );
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( getCPUSpeed );
end;
Прочитано 4793 раз
Другие материалы в этой категории: Поддерживает ли процессор набор команд MMX? »

Авторизация



Счетчики