THotPDF gyorsítótár-befogadási szabályzatok
Függetlenül szabályozza a gyorsítótár-befogadást a nyers tömörített forrás-tartományokra, a dekódolt képekre, a lefordított oldal-megjelenítési listákra és a renderelt raszteroldalakra
Deklarációk
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;
Alapértelmezett korlátok
| Réteg | Bejegyzések | Összes bájt | Bejegyzésenként | Adaptív |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Igen |
clkDecoded | 256 | 32 MiB | 16 MiB | Igen |
clkDisplayList | 64 | 64 MiB | 16 MiB | Igen |
clkRaster | 8 | 128 MiB | 64 MiB | Igen |
Befogadási viselkedés
Az engedélyezett szabályzat pozitív bejegyzés-, összbájt- és bejegyzésenkénti korlátot követel meg, és a bejegyzésenkénti korlát nem haladhatja meg az összbájt-korlátot
Az egyik réteg módosítása soha nem változtat egy másik réteget, és a korlát csökkentése azonnal eltávolítja a legrégebben használt bejegyzéseket, amíg az érintett gyorsítótár belefér a keretbe
Az AdaptiveAdmission engedélyezésével a legrégebben használt sorrend marad a gyors elérési út, miközben egy négyszeres korlátos gyakoriság-vázlat minden szükséges áldozattal összehasonlítja az új jelöltet a kilakoltatás előtt
A hidegebb jelölt megkerüli a megtartást anélkül, hogy megzavarná az aktuális kérést, az egyenlő gyakoriság az újabb jelöltet részesíti előnyben, és az időszakos számláló-elöregedés lehetővé teszi, hogy egy megváltozott munkahalmaz felváltsa a történelmi forró bejegyzéseket
Az AdaptiveAdmission False értékre állításával ugyanazok a kemény korlátok maradnak meg tiszta legrégebben-használt befogadással
A MaxEntryBytes értéknél nagyobb bejegyzéseket az aktuális művelethez használjuk, de megkerülik a megtartást, megakadályozva, hogy egy nagy dekódolt kép, megjelenítési lista vagy renderelt oldal kiszorítsa az újrafelhasználható kisebb bejegyzéseket
Az Enabled False értékre állítása nulla korlátokkal letiltja a megtartást az adott réteghez, míg a ResetCacheAdmissionPolicies visszaállítja mind a négy alapértelmezett értéket
Statisztikák
A THPDFCacheAdmissionStatistics visszaadja az aktív korlátokat, az adaptív módot, az aktuális bejegyzés- és bájtfoglaltságot, a találatokat, a tévesztéseket, az elfogadott befogadásokat, az elutasított befogadásokat, a kapacitás-kilakoltatásokat, a gyakorisági döntéseket és az elöregedési ciklusokat
A nyers tartomány-statisztikák a LoadFromRandomAccessSource által létrehozott automatikus egyesítő forrást írják le; egy explicit módon megadott THPDFCoalescingRandomAccessSource megtartja a hívó által választott konfigurációt
Kompatibilitási tulajdonságok
A RenderCacheCapacity frissíti a raszter-bejegyzés korlátját, és az ImageCacheMaxBytes frissíti a dekódolt kép összbájt-korlátját ugyanazon a szabályzat-ellenőrzési és azonnali csonkolási úton
Lásd még: Skálázható betöltés, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource