حساب سرعة المعالج

الموضوع في 'قسم الدلفي-Delphi' بواسطة aaqassam, بتاريخ ‏31 أكتوبر 2012.

حالة الموضوع:
مغلق
  1. aaqassam

    aaqassam New Member

    x

    السلام عليكم ورحمة الله وبركاته
    كود يقوم بأظهار لك سرعة المعالج .. . ~ [​IMG]




    كود:
    function getcpuspeed: 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;
    

    مثال للاستخدام يمكننا أن نضعها في الزر ..~

    كود:
    begin
    labelcpuspeed.caption := format('cpu speed: %f mhz', [getcpuspeed]);
    end;



    [​IMG][​IMG]
     
    آخر تعديل بواسطة المشرف: ‏4 يوليو 2013
حالة الموضوع:
مغلق

مشاركة هذه الصفحة