Einzelnen Beitrag anzeigen

Benutzerbild von creality
creality

Registriert seit: 14. Mai 2007
Ort: Double D Town
39 Beiträge
 
Delphi 2007 Professional
 
#17

Re: JCLCounter - High Performance Counter

  Alt 15. Jun 2007, 06:58
Zusammenfassung bisheriger Ergebnisse

Funktioniert. Zeit kann gemessen werden ohne Probleme.

Delphi-Quellcode:
// Start
procedure HiPerfCounter.Start;
begin
     try
     QueryPerformanceFrequency(freq);
     QueryPerformanceCounter(time1);

     except
          on E:Exception do begin
             ShowMessage('HiPerfCounter reported an Error. QueryPerformanceCounter is not supported.');
          end;
     end;
end;
Auszug aus dem JCL Counter:

Funktioniert nicht, obwohl hier genau das gleiche passiert: QueryPerformanceFrequency(FFrequency) liefert NULL zurück. WIESO?

Delphi-Quellcode:

constructor TJclCounter.Create(const Compensate: Boolean);
const
  Iterations: Integer = 10000;
var
  Count: Integer;
  TmpOverhead: Int64;
begin
  inherited Create;

  {$IFDEF MSWINDOWS}
  if not QueryPerformanceFrequency(FFrequency) then
    raise EJclCounterError.CreateRes(@RsNoCounter);
  {$ENDIF MSWINDOWS}
  {$IFDEF LINUX}
  FFrequency := 100000; // 1 sec = 10E6 microseconds, therefore we have to divide by 10E5
  {$ENDIF LINUX}

  FCounting := False;
  FOverhead := 0;
......................
..........
  Mit Zitat antworten Zitat