PDFium Delphi Component Docs

CacheGovernorStatistics egenskab

Komponent: TPdf  ·  Enhed: PDFium
Returnerer et konsistent snapshot af byteforbrug, pinning og reservationstelemetri for instansens cache governor

Syntax

property CacheGovernorStatistics: TPdfCacheGovernorStatistics; // read only

 

type TPdfCacheGovernorStatistics = record
  MaxBytes: Int64;
  StoredBytes: Int64;
  PeakStoredBytes: Int64;
  PinnedBytes: Int64;
  EntryCount: Integer;
  ReservationCount: Int64;
  TouchCount: Int64;
  EvictionCount: Int64;
  RejectionCount: Int64;
end;

MaxBytesKonfigureret loft, svarende til CacheBudgetBytes
StoredBytesSummen af de målte bytes for alle aktuelt gemte poster
PeakStoredBytesHøjeste vandmærke for StoredBytes, siden instansen blev oprettet
PinnedBytesAndelen af lagrede bytes, der holdes af pinnede poster, aktuelt aktive parsede pagescener
EntryCountAntallet af gemte poster på tværs af alle deltagende caches
ReservationCountKumulativt antal accepterede cache-indsættelser
TouchCountKumulativt antal LRU-opfriskninger, én pr. cache-hit på en gemt post
EvictionCountKumulativt antal poster, der er smidt ud for at holde brugen inden for budgettet
RejectionCountKumulativt antal indsættelser, der blev afvist, fordi budgettet er nul, posten alene overskrider MaxBytes, eller fordi intet kan evictes

Description

Recorden er erklæret i enheden FPdfCache og spejler tilstanden for den private governor, der er beskrevet på siden CacheGovernor. Værdierne indsamles under governor-låsen, så én læsning returnerer et gensidigt konsistent view, selv mens andre tråde renderer eller læser sider

Snapshotet dækker kun bibliotekets gemte cache-poster. Bitmap-kopier ejet af kalderen og returnerede snapshot-kopier holdes uden for budgettet, mens læsninger af dekodede streams forbliver flygtige og beholder deres hårde grænser pr. operation

Tællerne er kumulative over TPdf-instansens levetid; kapacitetsændringer, cache-rydninger og dokumentgenindlæsninger bevarer dem

Remarks

En eviction tælles kun, når budgetpres smider en post ud; at en post frigives, fordi dens side blev redigeret, eller fordi dens cache blev ryddet eksplicit, er ikke en eviction

Når governoren ikke er tilgængelig, returnerer getteren en nulstillet record med alle felter på deres standardværdi

Example

Stats := Pdf.CacheGovernorStatistics;
if Stats.PeakStoredBytes > Pdf.CacheBudgetBytes div 2 then
  LogCachePressure(Stats.StoredBytes, Stats.EvictionCount);

See Also

CacheBudgetBytes, CacheGovernor, ThumbnailCacheStatistics, FPdfCache