TPdfThumbnailCacheStatistics = record
EntryCount: Integer;
StoredBytes: Int64;
HitCount: Int64;
MissCount: Int64;
EvictionCount: Int64;
end;
EntryCount mencakup entri bitmap positif dan ketiadaan thumbnail tersemat opsional yang di-cache
StoredBytes mengestimasi memori bitmap sebagai lebar kali tinggi kali empat byte dan tidak menghitung entri negatif nol byte
Penghitung hit, miss, dan eviction bersifat kumulatif selama umur instance TPdf
property ThumbnailCacheMaxEntries: Integer; // default 64
property ThumbnailCacheMaxBytes: Int64; // default 64 MiB
Cache menyimpan entri hanya selama kedua plafon mengizinkan dan mengusir entri yang paling lama tidak dipakai ketika salah satu plafon menyusut
Mengatur salah satu plafon ke nol mematikan retensi sambil tetap menyediakan ekstraksi dan rendering
Nilai negatif memunculkan EPdfError
property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics;
Panggilan ExtractThumbnail dan RenderPageThumbnail yang berulang menyumbang hit dan miss di bawah render lock yang sama dengan yang dipakai akses halaman native PDFium
Setiap lookup bitmap yang berhasil mengembalikan deep copy milik pemanggil, sehingga mem-free atau mengubahnya tidak dapat memengaruhi hit berikutnya
property ThumbnailRevision: Int64;
Nilai ini bertambah ketika konten halaman atau struktur dokumen dapat membuat pratinjau yang ada menjadi usang
TPdfThumbnailView mengamati revisi ini dan membuang salinan panas halaman yang terlihat sebelum mengepaint ulang konten yang disunting
procedure ClearThumbnailCache;
Melepaskan entri bitmap dan entri negatif yang tersimpan tanpa mengubah batas, penghitung kumulatif, halaman aktif, atau revisi konten dokumen
Entri hasil render dipisahkan menurut revisi halaman, nomor halaman, ukuran maksimum yang diminta, rotasi, opsi render, latar belakang, dan setiap field TPdfColorScheme
Thumbnail tersemat memakai source key terpisah dan meng-cache bitmap hasil dekode serta ketiadaan entri /Thumb halaman
Penyuntingan halaman membuat halaman itu tidak valid, sedangkan penggantian dokumen dan perubahan page-tree mengosongkan semua thumbnail yang tersimpan
var
Bitmap: TBitmap;
Stats: TPdfThumbnailCacheStatistics;
begin
Pdf.ThumbnailCacheMaxEntries := 128;
Pdf.ThumbnailCacheMaxBytes := Int64(96) * 1024 * 1024;
Bitmap := Pdf.RenderPageThumbnail(1, 180, 240);
try
Image1.Picture.Assign(Bitmap);
finally
Bitmap.Free;
end;
Stats := Pdf.ThumbnailCacheStatistics;
LogCache(Stats.EntryCount, Stats.HitCount, Stats.MissCount);
end;