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

LayerEntriTotal bytePer entriAdaptif
clkRawCompressed82 MiB256 KiBYa
clkDecoded25632 MiB16 MiBYa
clkDisplayList6464 MiB16 MiBYa
clkRaster8128 MiB64 MiBYa

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