PDFium Delphi Component Docs

Свойства кэш-управляющего TPdf

Компонент: TPdf  ·  Модули: PDFium, FPdfCache
Координирует удерживаемые сцены страниц, миниатюры, данные структуры, снимки текста и снимки объектов страницы под одним измеримым потолком байтов

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

Изменение значения немедленно применяется во всех участвующих кэшах, принадлежащих этому экземпляру TPdf

Установка значения в ноль отключает новое удержание и вытесняет каждую неактивную запись

Отрицательные значения возбуждают EPdfError

Активные разобранные сцены страниц закреплены и могут временно держать измеренное использование выше уменьшенного бюджета, пока рендеринг их не освободит

CacheGovernor

property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf

Возвращает общий управляющий для запросов использования по видам и необязательной координации с кэшами, принадлежащими приложению

Не освобождайте возвращённый объект и не удерживайте его после уничтожения владеющего экземпляра TPdf

Вызывающая сторона может регистрировать записи pckApplication через участника, соблюдающего контракт обратного вызова и времени жизни FPdfCache

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

Возвращает текущие и пиковые измеренные байты, закреплённые байты, число записей, активность резерваций и обращений, вытеснения и отклонённые резервации

Снимок охватывает только удерживаемые записи кэша библиотеки

Копии растровых изображений и снимков, принадлежащие вызывающей стороне, остаются вне бюджета, а чтения декодированных потоков остаются эфемерными и сохраняют существующие жёсткие лимиты на операцию

Measurement model

Кэши растровых изображений используют ширину умножить на высоту умножить на четыре байта

Управляемые кэши снимков учитывают массивы записей, строки, байтовые буферы, сегменты путей, данные отсечения, метки, метаданные изображений и вложенные значения

Разобранные сцены страниц PDFium — непрозрачные нативные дескрипторы и получают учётную надбавку 8 MiB за каждую удержанную сцену, а не претендуют на точный учёт нативной кучи

Example

var
  Stats: TPdfCacheGovernorStatistics;
begin
  Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
  Stats := Pdf.CacheGovernorStatistics;
  LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
    Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;

See Also

FPdfCache, Кэш миниатюр, PageSceneCacheCapacity, Кэш структуры, Кэш текстовых снимков, Кэш снимков объектов страницы