PDFium Delphi Component Docs

Proprietà del governor della cache di TPdf

Componente: TPdf  ·  Unità: PDFium, FPdfCache
Coordina le scene di pagina trattenute, le miniature, i dati di struttura, le istantanee di testo e le istantanee degli oggetti di pagina sotto un unico tetto di byte misurabile

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

La modifica del valore ha effetto immediato su ogni cache partecipante di proprietà di questa istanza TPdf

Impostare il valore a zero disabilita le nuove retention ed espelle ogni voce inattiva

I valori negativi sollevano EPdfError

Le scene di pagina analizzate attive sono bloccate e possono mantenere l'uso misurato temporaneamente sopra un budget ridotto finché il rendering non le rilascia

CacheGovernor

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

Restituisce il governor condiviso per le interrogazioni d'uso per tipo e per la coordinazione facoltativa con le cache di proprietà dell'applicazione

Non liberare l'oggetto restituito e non trattenerlo dopo che l'istanza TPdf proprietaria è stata distrutta

I chiamanti possono registrare voci pckApplication attraverso un partecipante che segue il contratto di callback e di ciclo di vita di FPdfCache

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

Restituisce i byte misurati correnti e di picco, i byte bloccati, il numero di voci, l'attività di prenotazione e di accesso, le espulsioni e le prenotazioni rifiutate

L'istantanea copre solo le voci di cache della libreria trattenute

Le copie di bitmap di proprietà del chiamante e le copie di istantanee restituite restano fuori dal budget, mentre le letture di stream decodificati restano effimere e mantengono i loro esistenti limiti rigidi per operazione

Measurement model

Le cache di bitmap usano larghezza per altezza per quattro byte

Le cache di istantanee gestite includono array di record, stringhe, buffer di byte, segmenti di tracciato, dati di clip, mark, metadati delle immagini e valori annidati

Le scene di pagina PDFium analizzate sono handle nativi opachi e ricevono un addebito contabile di 8 MiB per scene trattenuta invece di una pretesa di esatto uso nativo dell'heap

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, Thumbnail cache, PageSceneCacheCapacity, Structure cache, Text snapshot cache, Page-object snapshot cache