PDFium Component Docs

TPdf-cachegovernor-eigenschappen

Component: TPdf  ·  Units: PDFium, FPdfCache
Coördineert bewaarde paginascenes, thumbnails, structureldata, textsnapshots en page-object-snapshots onder één meetbaar byteplafond

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

Wijzigen van de waarde werkt direct door in elke deelnemende cache die deze TPdf-instantie bezit

De waarde op nul zetten schakelt nieuwe retentie uit en verwijdert elk inactief item

Negatieve waarden verhogen EPdfError

Actieve geparseerde paginascenes zijn vastgezet en kunnen het gemeten gebruik tijdelijk boven een verlaagd budget houden totdat rendering ze vrijgeeft

CacheGovernor

property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf

Geeft de gedeelde governor terug voor gebruiksvragen per soort en optionele coördinatie met caches in eigendom van de toepassing

Geef het teruggegeven object niet vrij en houd het niet vast nadat de eigenende TPdf-instantie is vernietigd

Aanroepers kunnen pckApplication-items registreren via een deelnemer die het FPdfCache-callback- en levensduurcontract volgt

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

Geeft huidige en piek gemeten bytes, vastgezette bytes, itemaantal, reserverings- en raadplegingsactiviteit, verwijderingen en geweigerde reserveringen terug

De snapshot dekt alleen bewaarde library-cacheitems

Bitmapkopieën en teruggegeven snapshotkopieën in eigendom van de aanroeper vallen buiten het budget, terwijl gedecodeerde-stream-reads kortstondig blijven en hun bestaande harde limieten per bewerking behouden

Measurement model

Bitmapcaches gebruiken breedte keer hoogte keer vier bytes

Beheerde snapshotcaches omvatten recordarrays, strings, bytebuffers, padsegmenten, clipdata, marks, afbeeldingsmetadata en geneste waarden

Geparseerde PDFium-paginascenes zijn ondoorzichtige native handles en krijgen een boekhoudlast van 8 MiB per bewaarde scene in plaats van een claim van exact native heapgebruik

Example

var
  Stats: TPdfCacheGovernorStatistics;
begin
  Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
  Stats := Pdf.CacheGovernorStatistics;
  LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
    Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;

See Also

FPdfCache, Thumbnailcache, PageSceneCacheCapacity, Structuurcache, Tekst-snapshotcache, Page-object-snapshotcache