THotPDF Cache Admission Policies
Riadi prijímanie do vyrovnávacej pamäte nezávisle pre surové komprimované rozsahy zdroja, dekódované obrázky, skompilované zoznamy vykresľovania stránok a vykreslené rastrové stránky
Deklarácie
THPDFCacheLayerKind = (clkRawCompressed, clkDecoded,
clkDisplayList, clkRaster);
THPDFCacheAdmissionPolicy = record
Enabled: boolean;
AdaptiveAdmission: boolean;
MaxEntries: Integer;
MaxTotalBytes: Int64;
MaxEntryBytes: Int64;
end;
THPDFCacheAdmissionStatistics = record
Enabled: boolean;
AdaptiveAdmission: boolean;
MaxEntries: Integer;
MaxTotalBytes: Int64;
MaxEntryBytes: Int64;
EntryCount: Integer;
CurrentBytes: Int64;
HitCount: Int64;
MissCount: Int64;
AdmissionCount: Int64;
RejectionCount: Int64;
EvictionCount: Int64;
FrequencyAdmissionCount: Int64;
FrequencyRejectionCount: Int64;
FrequencyAgingCount: Int64;
end;
procedure ResetCacheAdmissionPolicies;
procedure SetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
const Policy: THPDFCacheAdmissionPolicy);
function GetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
out Policy: THPDFCacheAdmissionPolicy): boolean;
function GetCacheAdmissionStatistics(Kind: THPDFCacheLayerKind;
out Statistics: THPDFCacheAdmissionStatistics): boolean;
Predvolené limity
| Vrstva | Položky | Celkové bajty | Na položku | Adaptívne |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Áno |
clkDecoded | 256 | 32 MiB | 16 MiB | Áno |
clkDisplayList | 64 | 64 MiB | 16 MiB | Áno |
clkRaster | 8 | 128 MiB | 64 MiB | Áno |
Správanie prijímania
Povolená politika vyžaduje kladné limity položiek, celkových bajtov a bajtov na položku a limit na položku nesmie presiahnuť limit celkových bajtov
Zmena jednej vrstvy nikdy nezmení inú vrstvu a zníženie limitu okamžite odstráni najmenej nedávno použité položky, kým sa dotknutá vyrovnávacia pamäť nezmestí
Pri povolenom AdaptiveAdmission zostáva poradie najmenej nedávno použitých rýchlou cestou aktuálnosti, zatiaľ čo štvorcestný ohraničený frekvenčný náčrt porovná nového kandidáta s každým požadovaným obeťou pred vyradením
Chladnejší kandidát obíde uchovanie bez narušenia aktuálnej požiadavky, rovnaká frekvencia uprednostní novšieho kandidáta a periodické starnutie počítadiel umožní zmenenej pracovnej sade nahradiť historické horúce položky
Nastavte AdaptiveAdmission na False, aby sa zachovali rovnaké pevné hranice s čisto najmenej nedávno použitým prijímaním
Položky väčšie ako MaxEntryBytes sa použijú pre aktuálnu operáciu, ale obídu uchovanie, čím sa zabráni tomu, aby jeden veľký dekódovaný obrázok, zoznam vykresľovania alebo vykreslená stránka vytlačili opätovne použiteľné menšie položky
Nastavenie Enabled na False s nulovými limitmi vypne uchovanie pre túto vrstvu, zatiaľ čo ResetCacheAdmissionPolicies obnoví všetky štyri predvolené hodnoty
Štatistiky
THPDFCacheAdmissionStatistics vráti aktívne limity, adaptívny režim, aktuálne obsadenie položiek a bajtov, zásahy, chyby, prijaté prijatia, odmietnuté prijatia, vyradenia z kapacity, frekvenčné rozhodnutia a cykly starnutia
Štatistiky surových rozsahov opisujú automatický zlučovací zdroj vytvorený funkciou LoadFromRandomAccessSource; explicitne dodaný THPDFCoalescingRandomAccessSource si zachováva konfiguráciu vybranú volajúcim
Vlastnosti kompatibility
RenderCacheCapacity aktualizuje limit položiek rastra a ImageCacheMaxBytes aktualizuje limit celkových bajtov dekódovaných obrázkov cez rovnaké overenie politiky a okamžité orezanie
Pozri tiež: Škálovateľné načítavanie, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource