THotPDF Cache Admission Policies
Mengontrol penerimaan cache secara independen untuk rentang sumber terkompresi mentah, gambar terdekode, daftar tampilan halaman yang dikompilasi, dan halaman raster yang dirender
Deklarasi
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;
Batas bawaan
| Layer | Entri | Total byte | Per entri | Adaptif |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Ya |
clkDecoded | 256 | 32 MiB | 16 MiB | Ya |
clkDisplayList | 64 | 64 MiB | 16 MiB | Ya |
clkRaster | 8 | 128 MiB | 64 MiB | Ya |
Perilaku penerimaan
Kebijakan yang diaktifkan memerlukan batas entri, total-byte, dan per-entri yang positif, dan batas per-entri tidak boleh melebihi batas total-byte
Mengubah satu layer tidak pernah mengubah layer lain, dan menurunkan batas segera menghapus entri yang paling jarang digunakan hingga cache yang terpengaruh muat
Dengan AdaptiveAdmission diaktifkan, urutan paling-jarang-digunakan tetap menjadi jalur kedekatan cepat sementara sketsa frekuensi terikat empat-arah membandingkan kandidat baru dengan setiap korban yang diperlukan sebelum pengusiran
Kandidat yang lebih dingin melewati retensi tanpa mengganggu permintaan saat ini, frekuensi yang sama mendukung kandidat yang lebih baru, dan penuaan penghitung berkala memungkinkan set kerja yang berubah menggantikan entri panas historis
Setel AdaptiveAdmission ke False untuk mempertahankan batas keras yang sama dengan penerimaan paling-jarang-digunakan murni
Entri yang lebih besar dari MaxEntryBytes digunakan untuk operasi saat ini tetapi melewati retensi, mencegah satu gambar terdekode besar, daftar tampilan, atau halaman yang dirender menggantikan entri lebih kecil yang dapat digunakan kembali
Menyetel Enabled ke False dengan batas nol menonaktifkan retensi untuk layer itu, sedangkan ResetCacheAdmissionPolicies memulihkan keempat bawaan
Statistik
THPDFCacheAdmissionStatistics mengembalikan batas aktif, mode adaptif, entri dan okupansi byte saat ini, hit, miss, penerimaan yang diterima, penerimaan yang ditolak, pengusiran kapasitas, keputusan frekuensi, dan siklus penuaan
Statistik rentang-mentah menggambarkan sumber penggabungan otomatis yang dibuat oleh LoadFromRandomAccessSource; THPDFCoalescingRandomAccessSource yang disediakan secara eksplisit mempertahankan konfigurasi yang dipilih pemanggil
Properti kompatibilitas
RenderCacheCapacity memperbarui batas entri raster dan ImageCacheMaxBytes memperbarui batas total-byte gambar terdekode melalui jalur validasi kebijakan dan pemangkasan segera yang sama
Lihat juga: Pemuatan yang Dapat Diskalakan, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource