property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics; // read only
type TPdfThumbnailCacheStatistics = record
EntryCount: Integer;
StoredBytes: Int64;
HitCount: Int64;
MissCount: Int64;
EvictionCount: Int64;
end;
| EntryCount | Vorgehaltene Einträge, gezählt werden positive Bitmap-Einträge und die zwischengespeicherte Abwesenheit optionaler eingebetteter Miniaturbilder |
| StoredBytes | Geschätzter Bitmap-Speicher als Breite mal Höhe mal vier Bytes; Negativeinträge mit null Bytes addieren nichts |
| HitCount | Kumulative Lookups, die aus einem vorgehaltenen Eintrag bedient wurden |
| MissCount | Kumulative Lookups, die extrahieren oder rendern mussten, einschließlich jedes Lookups bei deaktivierter Aufbewahrung |
| EvictionCount | Kumulative Einträge, die durch Least-Recently-Used-Druck oder geschrumpfte Obergrenzen entfernt wurden |
Wiederholte ExtractThumbnail- und RenderPageThumbnail-Aufrufe tragen Treffer und Fehlgriffe unter demselben Render-Lock bei, den auch der native PDFium-Seitenzugriff verwendet, sodass sich die Zähler nur über die dokumentierten Lookup-Pfade bewegen
Jede erfolgreiche Bitmap-Suche liefert eine tiefe aufrufereigene Kopie, sodass das Freigeben oder Ändern einer zurückgegebenen Bitmap einen späteren Treffer nicht beeinflussen kann, und der zwischengespeicherte Eintrag behält seine gemessenen Bytes, bis er verdrängt oder ungültig gemacht wird
Die Zähler sind kumulativ über die Lebensdauer der TPdf-Instanz. ClearThumbnailCache und die internen Invalidierungspfade erhalten sie
Eine Eviction wird gezählt, wenn Obergrenzendruck einen vorgehaltenen Eintrag entfernt, einschließlich des Governors, der Miniaturbilder entfernt, um CacheBudgetBytes einzuhalten; das Entfernen von Einträgen wegen einer bearbeiteten Seite ist Invalidierung und erhöht EvictionCount nicht
Die Lesung liefert einen nullgesetzten Record, wenn der Cache nicht verfügbar ist, was in der Praxis nur außerhalb der normalen Komponentenlebensdauer geschieht
Stats := Pdf.ThumbnailCacheStatistics;
LogThumbnailCache(Stats.EntryCount, Stats.HitCount, Stats.MissCount,
Stats.EvictionCount);