Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[4871] [정보] CPU속도 알아내기..
grcsb [ ] 1360 읽음    1998-10-13 10:36

CPU종류 알아내기는..
해본적도 없어서리..
그저 속도 알아내는 루틴만 올립니다..
팬티엄 이상에서만 적용됨..

From 류..

---------

Function  CPUSpeed:Double;
Const
     DelayTime = 500;
Var
   TimerHi, TimerLo : DWord;
   PriorityClass, Priority : Integer;
Begin
  PriorityClass:= GetPriorityClass(GetCurrentProcess);
  Priority:= GetThreadPriority(GetCurrentThread);

  SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
  SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);

  Sleep(10);
  Asm
    DW    310Fh // rdtsc
    MOV   TimerLo, EAX
    MOV   TimerHi, EDX
  End;
  Sleep(DelayTime);
  Asm
    DW   310Fh // rdtsc
    SUB  EAX, TimerLo
    SBB  EDX, TimerHi
    MOV  TimerLo, EAX
    MOV  TimerHi, EDX
  End;

  SetThreadPriority(GetCurrentThread, Priority);
  SetPriorityClass(GetCurrentProcess, PriorityClass);

  Result:= TimerLo / (1000.0 * DelayTime);
End;


+ -

관련 글 리스트
4871 [정보] CPU속도 알아내기.. grcsb 1360 1998/10/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.