property ThumbnailCacheStatistics: TPdfThumbnailCacheStatistics; // read only
type TPdfThumbnailCacheStatistics = record
EntryCount: Integer;
StoredBytes: Int64;
HitCount: Int64;
MissCount: Int64;
EvictionCount: Int64;
end;
| EntryCount | Удерживаемые записи: действующие записи с битовыми картами и кэшированное отсутствие необязательных встроенных миниатюр |
| StoredBytes | Оценка памяти битовых карт как ширина, умноженная на высоту и на четыре байта; отрицательные записи нулевого размера ничего не добавляют |
| HitCount | Накопительные обращения, обслуженные удерживаемой записью |
| MissCount | Накопительные обращения, потребовавшие извлечения или отрисовки, включая все обращения при выключенном удержании |
| EvictionCount | Накопительные записи, сброшенные давлением LRU или уменьшением потолка |
Повторные вызовы ExtractThumbnail и RenderPageThumbnail пополняют попадания и промахи под той же блокировкой отрисовки, которой пользуется нативный доступ к страницам PDFium, поэтому счётчики меняются только через документированные пути обращений
Каждое успешное обращение к битовой карте возвращает глубокую копию во владении вызывающего кода, поэтому освобождение или изменение возвращённой битовой карты не может повлиять на последующее попадание, а кэшированная запись сохраняет свои измеренные байты до вытеснения или объявления недействительной
Счётчики накапливаются в течение жизни экземпляра TPdf. ClearThumbnailCache и внутренние пути объявления недействительным их сохраняют
Вытеснение засчитывается, когда давление потолка сбрасывает удерживаемую запись, включая вытеснение миниатюр регулятором ради соблюдения CacheBudgetBytes; сброс записей из-за правки их страницы — это объявление недействительным и EvictionCount не увеличивает
При недоступном кэше чтение возвращает обнулённую запись; на практике это случается только вне нормального времени жизни компонента
Stats := Pdf.ThumbnailCacheStatistics;
LogThumbnailCache(Stats.EntryCount, Stats.HitCount, Stats.MissCount,
Stats.EvictionCount);