Mapping locale a finestre di THotPDF

Controlla il mapping in memoria a finestre, di sola lettura e limitato, usato da LoadFromFile per i documenti locali di grandi dimensioni

Dichiarazioni

property LocalFileMappingThreshold: Int64;
property LocalFileMappingWindowSize: Integer;
property LocalFileMappingCacheWindows: Integer;
property LocalFileMappingAdaptiveGeometry: boolean;
property LastLoadUsedMemoryMapping: boolean;

function GetLastMappedFileStatistics(
  out Statistics: THPDFMappedFileStatistics): boolean;

Valori predefiniti

ImpostazioneValore predefinitoSignificato
LocalFileMappingThreshold8 MiBDimensione minima della sorgente che seleziona il mapping in memoria; zero disabilita il mapping
LocalFileMappingWindowSize16 MiBByte coperti da una view allineata alla granularità di allocazione
LocalFileMappingCacheWindows4Numero massimo di view residenti trattenute dalla cache LRU
LocalFileMappingAdaptiveGeometryTrueRidistribuisce lo stesso limite di byte mappati per accesso sequenziale o random sostenuto

Statistiche

THPDFMappedFileStatistics = record
  FileSize: Int64;
  ConfiguredWindowSize: Int64;
  ConfiguredCacheWindowCount: Integer;
  WindowSize: Int64;
  CacheWindowCount: Integer;
  MappedByteLimit: Int64;
  CurrentMappedBytes: Int64;
  PeakMappedBytes: Int64;
  GeometryChangeCount: Int64;
  SequentialReadCalls: Int64;
  RandomReadCalls: Int64;
  AdaptiveGeometry: Boolean;
  SequentialGeometryActive: Boolean;
  RandomGeometryActive: Boolean;
  ReadCalls: Int64;
  BytesRead: Int64;
  MapCount: Int64;
  CacheHits: Int64;
  FallbackReadCalls: Int64;
  FallbackBytes: Int64;
  DirectTransferCalls: Int64;
  DirectTransferBytes: Int64;
end;

GetLastMappedFileStatistics restituisce True solo quando l'ultima operazione LoadFromFile ha selezionato il mapping

MapCount conta le nuove view e CacheHits conta le letture servite da una view esistente, così applicazioni e benchmark possono tarare la geometria delle finestre sui reali pattern di accesso

MappedByteLimit resta fisso mentre WindowSize e CacheWindowCount riportano la geometria attiva; i byte mappati di picco, i conteggi dei pattern e i flag di modalità rendono ogni adattamento osservabile

Tipi di sorgente avanzati

THPDFMappedFileSource possiede l'handle di file condiviso, l'oggetto di mapping, le finestre LRU sincronizzate, il reference count e il percorso di fallback posizionale

THPDFMappedFileStream espone una slice seekable e limitata su quella sorgente, mentre THPDFMappedFileWindow descrive una singola view interna in cache

Comportamento

Vedi anche: LocalFileMappingAdaptiveGeometry, LoadFromFile, Caricamento PDF scalabile e ad accesso casuale, HPDFTransferStream, LoadedStreamMemoryThreshold