PDFium Delphi Component Docs

Thumbnail cache

Component: TPdf  ·  Unit: PDFium
Memakai ulang pratinjau halaman tersemat dan hasil render melalui satu cache least-recently-used berbatas yang sadar revisi

Statistics type

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

Limits

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

Statistics

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

Revision

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

Clear

procedure ClearThumbnailCache;

Melepaskan entri bitmap dan entri negatif yang tersimpan tanpa mengubah batas, penghitung kumulatif, halaman aktif, atau revisi konten dokumen

Cache keys and invalidation

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

Example

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;

See Also

RenderPageThumbnail, ExtractThumbnail, TPdfThumbnailView