THotPDF-innleggelsespolicyer for hurtigbuffer
Styrer hurtigbufferinnleggelse uavhengig for rå komprimerte kildeområder, dekodede bilder, kompilerte sidevisningslister og gjengitte raster-sider
Deklarasjoner
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;
Standardgrenser
| Lag | Oppføringer | Totale byte | Per oppføring | Adaptiv |
|---|---|---|---|---|
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 |
Innleggelsesoppførsel
En aktivert policy krever positive grenser for oppføringer, totale byte og per oppføring, og grensen per oppføring må ikke overstige grensen for totale byte
Å endre ett lag endrer aldri et annet lag, og å senke en grense fjerner umiddelbart minst nylig brukte oppføringer til det berørte hurtigbufferen får plass
Med AdaptiveAdmission aktivert forblir minst-nylig-brukt-rekkefølgen den raske nyhetsbanen, mens en firedelt avgrenset frekvensskisse sammenligner en ny kandidat med hver nødvendige offer før utkastelse
En kaldere kandidat omgår bevaring uten å forstyrre den gjeldende forespørselen, lik frekvens favoriserer den nyere kandidaten, og periodisk telleraldring lar et endret arbeidssett erstatte historiske varme oppføringer
Sett AdaptiveAdmission til False for å beholde de samme harde grensene med ren minst-nylig-brukt-innleggelse
Oppføringer større enn MaxEntryBytes brukes for den gjeldende operasjonen, men omgår bevaring, noe som hindrer ett stort dekodet bilde, en visningsliste eller en gjengitt side i å fortrenge gjenbrukbare mindre oppføringer
Å sette Enabled til False med nullgrenser deaktiverer bevaring for det laget, mens ResetCacheAdmissionPolicies gjenoppretter alle fire standardene
Statistikk
THPDFCacheAdmissionStatistics returnerer de aktive grensene, adaptiv modus, gjeldende oppførings- og bytebelegg, treff, bom, aksepterte innleggelser, avviste innleggelser, kapasitetsutkastelser, frekvensbeslutninger og aldringssykluser
Råområdestatistikk beskriver den automatiske sammenføyningskilden som opprettes av LoadFromRandomAccessSource; en eksplisitt levert THPDFCoalescingRandomAccessSource beholder sin kallervalgte konfigurasjon
Kompatibilitetsegenskaper
RenderCacheCapacity oppdaterer rasteroppføringsgrensen, og ImageCacheMaxBytes oppdaterer grensen for totale byte for dekodede bilder gjennom samme policyvalidering og umiddelbare trimmingsbane
Se også: Skalerbar innlasting, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource