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étegBejegyzésekÖsszes bájtBejegyzésenkéntAdaptív
clkRawCompressed82 MiB256 KiBIgen
clkDecoded25632 MiB16 MiBIgen
clkDisplayList6464 MiB16 MiBIgen
clkRaster8128 MiB64 MiBIgen

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