PDFium Delphi Component Docs

Propriedades de cache governor do TPdf

Componente: TPdf  ·  Unidades: PDFium, FPdfCache
Coordena cenas de página retidas, miniaturas, dados de estrutura, snapshots de texto e snapshots de objetos de página sob um teto de bytes mensurável

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

Alterar o valor tem efeito imediato em todos os caches participantes de propriedade desta instância de TPdf

Definir o valor como zero desabilita novas retenções e despeja todas as entradas inativas

Valores negativos disparam EPdfError

Cenas de página analisadas ativas são fixadas e podem manter o uso medido temporariamente acima de um orçamento reduzido até que a renderização as libere

CacheGovernor

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

Retorna o governor compartilhado para consultas de uso por tipo e coordenação opcional com caches de propriedade do aplicativo

Não libere o objeto retornado e não o retenha depois que a instância de TPdf à qual pertence for destruída

Chamadores podem registrar entradas pckApplication por meio de um participante que segue o contrato de callbacks e de tempo de vida do FPdfCache

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

Retorna bytes medidos atuais e de pico, bytes fixados, contagem de entradas, atividade de reservas e de acessos, despejos e reservas rejeitadas

O snapshot cobre apenas entradas de cache retidas pela biblioteca

Cópias de bitmap de propriedade do chamador e cópias de snapshots retornadas permanecem fora do orçamento, enquanto leituras de streams decodificados permanecem efêmeras e mantêm seus limites rígidos existentes por operação

Measurement model

Caches de bitmap usam largura vezes altura vezes quatro bytes

Caches de snapshots gerenciados incluem arrays de records, strings, buffers de bytes, segmentos de caminho, dados de recorte, marcas, metadados de imagem e valores aninhados

Cenas de página do PDFium analisadas são handles nativos opacos e recebem uma cobrança contábil de 8 MiB por cena retida, em vez de uma alegação de uso exato do heap nativo

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, Thumbnail cache, PageSceneCacheCapacity, Structure cache, Text snapshot cache, Page-object snapshot cache