THotPDF Cache-toelatingsbeleid
Regelt cachetoelating onafhankelijk voor ruwe gecomprimeerde bronreeksen, gedecodeerde afbeeldingen, gecompileerde paginadisplaylists en gerenderde rasterpagina's
Declaraties
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;
Standaardlimieten
| Laag | Items | Totaal bytes | Per item | Adaptief |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Ja |
clkDecoded | 256 | 32 MiB | 16 MiB | Ja |
clkDisplayList | 64 | 64 MiB | 16 MiB | Ja |
clkRaster | 8 | 128 MiB | 64 MiB | Ja |
Toelatingsgedrag
Een ingeschakeld beleid vereist positieve limieten voor items, totale bytes en per item, en de limiet per item mag de limiet voor totale bytes niet overschrijden
Het wijzigen van één laag verandert nooit een andere laag, en het verlagen van een limiet verwijdert onmiddellijk minst-recent-gebruikte items totdat de betreffende cache past
Met ingeschakelde AdaptiveAdmission blijft de minst-recent-gebruikte volgorde het snelle recentheidspad, terwijl een viervoudig begrensde frequentieschets elke nieuwe kandidaat vergelijkt met elk vereist slachtoffer vóór verwijdering
Een kouder kandidaat omzeilt retentie zonder de huidige aanvraag te verstoren, gelijke frequentie bevoordeelt de nieuwere kandidaat, en periodieke tellerveroudering laat een gewijzigde werkset historische hete items vervangen
Stel AdaptiveAdmission in op False om dezelfde harde grenzen te behouden met pure minst-recent-gebruikte toelating
Items groter dan MaxEntryBytes worden gebruikt voor de huidige bewerking maar omzeilen retentie, waardoor één grote gedecodeerde afbeelding, displaylist of gerenderde pagina herbruikbare kleinere items niet kan verdringen
Het instellen van Enabled op False met nul-limieten schakelt retentie voor die laag uit, terwijl ResetCacheAdmissionPolicies alle vier standaardwaarden herstelt
Statistieken
THPDFCacheAdmissionStatistics retourneert de actieve limieten, adaptieve modus, huidige item- en bytebezetting, treffers, missers, geaccepteerde toelatingen, afgewezen toelatingen, capaciteitsverwijderingen, frequentiebeslissingen en verouderingscycli
Ruwe-reeksstatistieken beschrijven de automatische coalescerende bron die is gemaakt door LoadFromRandomAccessSource; een expliciet geleverde THPDFCoalescingRandomAccessSource behoudt de door de aanroeper geselecteerde configuratie
Compatibiliteitseigenschappen
RenderCacheCapacity werkt de rasteritemlimiet bij en ImageCacheMaxBytes werkt de totale-bytelimiet voor gedecodeerde afbeeldingen bij via dezelfde beleidsvalidatie en onmiddellijke trimroute
Zie ook: Schaalbaar laden, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource