THotPDF-Fensterbasierte lokale Dateiabbildung

Steuert die begrenzte schreibgeschützte Memory-Mapping, die LoadFromFile für große lokale Dokumente verwendet

Deklarationen

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

function GetLastMappedFileStatistics(
  out Statistics: THPDFMappedFileStatistics): boolean;

Standardwerte

EinstellungStandardBedeutung
LocalFileMappingThreshold8 MiBMindestquellgröße, die Memory-Mapping wählt; null schaltet Mapping ab
LocalFileMappingWindowSize16 MiBVon einem an Allocation-Granularity ausgerichteten View abgedeckte Bytes
LocalFileMappingCacheWindows4Maximale vom LRU-Cache vorgehaltene residente Views
LocalFileMappingAdaptiveGeometryTrueVerteilt dasselbe Mapped-Byte-Limit für anhaltenden sequenziellen oder wahlfreien Zugriff neu

Statistiken

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 liefert nur dann True, wenn die letzte LoadFromFile-Operation Mapping gewählt hat

MapCount zählt neue Views und CacheHits zählt Lesezugriffe, die ein vorhandener View bedient hat; so können Anwendungen und Benchmarks die Fenstergeometrie an realen Zugriffsmustern justieren

MappedByteLimit bleibt fix, während WindowSize und CacheWindowCount die aktive Geometrie melden; Peak-Mapped-Bytes, Musterzähler und Mode-Flags machen jede Anpassung beobachtbar

Erweiterte Quelltypen

THPDFMappedFileSource besitzt das gemeinsame File-Handle, das Mapping-Objekt, synchronisierte LRU-Fenster, den Referenzzähler und den positionalen Fallback-Pfad

THPDFMappedFileStream legt einen begrenzten seekbaren Ausschnitt über diese Quelle, während THPDFMappedFileWindow einen zwischengespeicherten internen View beschreibt

Verhalten

Siehe auch: LocalFileMappingAdaptiveGeometry, LoadFromFile, Skalierbares Laden, HPDFTransferStream, LoadedStreamMemoryThreshold