PDFium Delphi Component Docs

Unidade FPdfCache

Unidade: FPdfCache
Fornece um governor de orçamento de bytes compartilhado para dados de PDF retidos cujos proprietários podem liberar entradas sob demanda

Types

TypeDescription
EPdfCacheErrorRelata orçamentos, tamanhos de entrada e participantes inválidos
TPdfCacheKindClassifica cenas de página (pckPageScene), tiles (pckTile), miniaturas (pckThumbnail), fontes do sistema (pckSystemFont), dados de estrutura (pckStructure), snapshots de texto (pckTextSnapshot), snapshots de objetos de página (pckPageObjectSnapshot), streams decodificados (pckDecodedStream) e entradas do aplicativo (pckApplication)
TPdfCacheGovernorStatisticsInforma o orçamento, os bytes retidos atual e de pico, os bytes fixados, a contagem de entradas, as reservas, os toques, os despejos e as rejeições; os campos incluem MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount e RejectionCount
TPdfCacheParticipantRecebe callbacks síncronos de EvictCacheEntry depois que o governor remove um token de sua contabilidade
TPdfCacheGovernorEntryRecord interno de contabilidade exposto para compatibilidade com o compilador; os campos incluem Token, Participant, Kind, StoredBytes, LastUsed e Pinned
TPdfCacheGovernorRegistro de tokens thread-safe com uma única ordem global least-recently-used entre participantes e tipos de cache

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Cria um governor com um orçamento de bytes não negativo
DestroyLimpa as entradas registradas antes de liberar o estado de sincronização
ReserveReserva bytes e retorna um token positivo, despejando entradas LRU globais quando possível ou retornando zero quando a entrada não cabe
TouchMove um token existente para a posição mais recente
ReleaseRemove a contabilidade de um token sem invocar seu callback de despejo
SetPinnedProtege ou desprotege uma entrada em uso e faz a poda depois de remover a fixação
ClearRemove todos os tokens e pede a cada participante que libere sua entrada retida
ContainsTesta se um token permanece registrado
UsageForKindRetorna os bytes retidos de um TPdfCacheKind
EntryCountForKindRetorna a contagem de entradas registradas de um TPdfCacheKind
StatisticsRetorna um snapshot de telemetria protegido por lock
MaxBytesLê ou altera o orçamento total e, após uma redução, faz imediatamente a poda das entradas não fixadas

Ownership and callback contract

O governor nunca é o dono dos participantes nem de seus dados retidos

Cada participante deve sobreviver a todos os seus tokens registrados e não deve disparar exceções em EvictCacheEntry

Os callbacks executam de forma síncrona sem o lock do governor retido, de modo que os participantes podem chamar Release com segurança para tokens relacionados

Entradas fixadas podem manter temporariamente StoredBytes acima de um valor reduzido de MaxBytes até que o último usuário as libere

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE permanece disponível por meio de reLimitCache e aplica o limite nativo fixo por página de cache de imagem do PDFium

O PDFium não expõe uma ABI pública para um orçamento de bytes de cache de todo o processo configurável ou consultável

O governor, portanto, mede objetos retidos de propriedade do PDFium Delphi Component e usa uma estimativa explícita para cenas de página analisadas opacas

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor