PDFium Delphi Component Docs

CacheBudgetBytes vlastnost

Komponenta: TPdf  ·  Jednotka: PDFium
Nastavuje sdílený strop bajtů, který ohraničuje každý uchovaný záznam mezipaměti vlastněný jednou instancí TPdf

Syntaxe

property CacheBudgetBytes: Int64; // read and write, default 256 MiB

Popis

Každá instance TPdf vlastní soukromý TPdfCacheGovernor a tato vlastnost je jeho strop MaxBytes. Uchované parsované scény stránek, miniatury, stromy prvků struktury, snímky textu stránek, snímky objektů stránky a jakýkoli TPdfTileCache připojený ke stejnému správci mezipaměti si všechny rezervují své naměřené bajty proti tomuto jedinému rozpočtu

Mezipaměti bitmap se měří jako šířka krát výška krát čtyři bajty, spravované mezipaměti snímků se odhadují z jejich záznamů, řetězců, polí a bajtových bufferů a neprůhledné parsované scény stránek PDFium mají účtový příplatek 8 MiB na každou uchovanou scénu

Snížení hodnoty se projeví okamžitě: nejdéle nepoužité nepřipnuté záznamy se vystěhovávají ze všech zúčastněných mezipamětí, dokud naměřená spotřeba nepojme pod nový strop

Poznámky

Nastavení rozpočtu na nulu vypne nové uchovávání, každá rezervace je pak odmítnuta a počítána v RejectionCount, zatímco již aktivní připnuté scény stránek se uvolní, jakmile vykreslení skončí

Aktivní parsované scény stránek jsou během vykreslování připnuté a mohou dočasně udržet naměřenou spotřebu nad sníženým rozpočtem, dokud je vykreslování neuvolní

Záporné hodnoty vyvolají EPdfError. Čtení vrací aktuální strop a vrací 0, když správce mezipaměti není dostupný, což v praxi nastává jen mimo normální životní cyklus komponenty

Rozpočet 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

Příklad

Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheBudget(Stats.StoredBytes, Stats.PeakStoredBytes);

Viz také

CacheGovernorStatistics, CacheGovernor, ThumbnailCacheMaxBytes, PageSceneCacheCapacity, FPdfCache