PDFium Delphi Component Docs

CacheGovernorStatistics vlastnost

Komponenta: TPdf  ·  Jednotka: PDFium
Vrací konzistentní snímek využití bajtů, připínání a telemetrie rezervací pro správce mezipaměti jednotlivé instance

Syntaxe

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;

MaxBytesNakonfigurovaný strop, roven CacheBudgetBytes
StoredBytesSoučet naměřených bajtů všech aktuálně uchovaných záznamů
PeakStoredBytesMaximální hodnota StoredBytes od vytvoření instance
PinnedBytesČást uložených bajtů držená připnutými záznamy, tedy aktuálně aktivními parsovanými scénami stránek
EntryCountPočet uchovaných záznamů napříč všemi zúčastněnými mezipaměťmi
ReservationCountKumulativní počet přijatých vložení do mezipaměti
TouchCountKumulativní počet obnovení pro politiku nejdéle nepoužitých, jedno na každý zásah mezipaměti u uchovaného záznamu
EvictionCountKumulativní počet záznamů zahozených, aby využití zůstalo v rozpočtu
RejectionCountKumulativní počet odmítnutých vložení, protože rozpočet je nula, samotný záznam překračuje MaxBytes nebo nic nelze vystěhovat

Popis

Záznam je deklarován v jednotce FPdfCache a zrcadlí stav soukromého správce popsaného na stránce CacheGovernor. Hodnoty se sbírají pod zámkem správce, takže jediné čtení vrací vzájemně konzistentní pohled, i když jiné vlákna vykreslují nebo čtou stránky

Snímek pokrývá jen uchované záznamy mezipaměti knihovny. Bitmapové kopie ve vlastnictví volajícího a vrácené kopie snímků zůstávají mimo rozpočet, zatímco čtení dekódovaných proudů zůstávají efemérní a drží si svá tvrdá limity na operaci

Čítače jsou kumulativní po dobu životnosti instance TPdf; změny kapacity, vyprázdnění mezipamětí a opětovná načtení dokumentu je zachovávají

Poznámky

Vystěhováním se počítá jen tehdy, když tlak rozpočtu záznam zahodí; uvolnění záznamu proto, že jeho stránka byla upravena nebo jeho mezipaměť byla explicitně vyprázdněna, vystěhováním není

Když není správce dostupný, getter vrací vynulovaný záznam s každým polem ve výchozí hodnotě

Příklad

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

Viz také

CacheBudgetBytes, CacheGovernor, ThumbnailCacheStatistics, FPdfCache