X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2Fxprofiler.pas;h=9e25bdb2122426820aa98270b41032a38f4601ff;hb=fbbc2cfe8253d61c8a5eb27d352df4103a59b7fb;hp=be2a86a28d68881d128e8ce49d47883bf04db57a;hpb=987c4a835a103345b59937e8e1be8524a6228712;p=d2df-sdl.git diff --git a/src/shared/xprofiler.pas b/src/shared/xprofiler.pas index be2a86a..9e25bdb 100644 --- a/src/shared/xprofiler.pas +++ b/src/shared/xprofiler.pas @@ -21,6 +21,12 @@ interface {$IFNDEF IN_TOOLS} uses + {$IFDEF USE_SDL} + SDL, + {$ENDIF} + {$IFDEF USE_SDL2} + SDL2, + {$ENDIF} SysUtils; {$DEFINE STOPWATCH_IS_HERE} @@ -46,6 +52,11 @@ interface ; {$ENDIF} // IN_TOOLS +{$IFDEF USE_SDL} + type + UInt64 = QWord; (* !!! *) +{$ENDIF} + {$IF DEFINED(STOPWATCH_IS_HERE)} type TStopWatch = record @@ -160,9 +171,6 @@ function getTimeMilli (): UInt64; inline; implementation {$IFNDEF IN_TOOLS} -uses - SDL2; - type THPTimeType = Int64; {$ELSE} @@ -205,7 +213,7 @@ begin end; -{$IFDEF IN_TOOLS} +{$IF DEFINED(IN_TOOLS)} function getTimeMicro (): UInt64; inline; var r: THPTimeType; @@ -219,17 +227,22 @@ begin result := UInt64(r)*1000000 div mFrequency; {$ENDIF} end; -{$ELSE} +{$ELSEIF DEFINED(USE_SDL2)} function getTimeMicro (): UInt64; inline; begin Result := SDL_GetPerformanceCounter() * 1000000 div SDL_GetPerformanceFrequency() end; +{$ELSE} +function getTimeMicro: UInt64; inline; +begin + result := Round(TimeStampToMSecs(DateTimeToTimeStamp(Now())) * 1000); +end; {$ENDIF} function getTimeMilli (): UInt64; inline; begin - result := getTimeMicro div 1000; + result := getTimeMicro() div 1000; end;