property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics; // read only
type TPdfThumbnailCacheStatistics = record
EntryCount: Integer;
StoredBytes: Int64;
HitCount: Int64;
MissCount: Int64;
EvictionCount: Int64;
end;
| EntryCount | entry ที่เก็บอยู่ นับทั้ง entry bitmap ฝั่งบวกและการแคชไว้ว่าไม่มี thumbnail embedded เสริม |
| StoredBytes | ประมาณหน่วยความจำ bitmap ด้วยสูตรกว้าง x สูง x สี่ไบต์ ส่วน entry เชิงลบขนาดศูนย์ไบต์ไม่เพิ่มค่าให้ |
| HitCount | จำนวน lookup สะสมที่ตอบด้วย entry ที่เก็บอยู่ |
| MissCount | จำนวน lookup สะสมที่ต้อง extract หรือเรนเดอร์ รวมทุกการ lookup ระหว่างที่ปิดการเก็บซ้ำ |
| EvictionCount | จำนวน entry สะสมที่ถูกทิ้งจากแรงกดดันแบบ least-recently-used หรือจากการหดเพดาน |
การเรียก ExtractThumbnail และ RenderPageThumbnail ซ้ำ ๆ ส่งผลต่อ hit และ miss ภายใต้ render lock เดียวกับที่ใช้เข้าถึงหน้าของ PDFium ระดับ native ตัวนับจึงขยับผ่านเส้นทาง lookup ที่จัดทำเอกสารไว้เท่านั้น
การ lookup bitmap ที่สำเร็จทุกครั้งจะคืนสำเนาแบบ deep ที่ผู้เรียกเป็นเจ้าของ การ free หรือแก้ไข bitmap ที่ได้รับจึงไม่กระทบ hit ครั้งถัดไป และ entry ที่แคชไว้จะคงไบต์ที่วัดไว้จนถูกไล่ออกหรือถูก invalidate
ตัวนับสะสมตลอดอายุของ instance TPdf ClearThumbnailCache และเส้นทาง invalidation ภายในจะไม่ล้างค่าเหล่านี้
การไล่ออกจะถูกนับเมื่อแรงกดดันจากเพดานทำให้ entry ที่เก็บอยู่ถูกทิ้ง รวมถึงกรณี governor ไล่ thumbnail ออกเพื่อรักษา CacheBudgetBytes ส่วนการทิ้ง entry เพราะหน้าถูกแก้ไขเป็น invalidation และไม่เพิ่ม EvictionCount
การอ่านจะคืน record ที่เป็นศูนย์ทั้งหมดเมื่อ cache ใช้ไม่ได้ ซึ่งในทางปฏิบัติเกิดขึ้นได้เฉพาะนอกช่วงอายุปกติของคอมโพเนนต์
Stats := Pdf.ThumbnailCacheStatistics;
LogThumbnailCache(Stats.EntryCount, Stats.HitCount, Stats.MissCount,
Stats.EvictionCount);