PDFium Delphi Component Docs

FPdfCache Unità

Unità: FPdfCache
Fornisce un governatore di budget di byte condiviso per dati PDF trattenuti i cui proprietari possono rilasciare le voci su richiesta

Types

TypeDescription
EPdfCacheErrorSegnala budget, dimensioni di voce e partecipanti non validi
TPdfCacheKindClassifica scene di pagina (pckPageScene), tile (pckTile), miniature (pckThumbnail), font di sistema (pckSystemFont), dati di struttura (pckStructure), istantanee di testo (pckTextSnapshot), istantanee di oggetti di pagina (pckPageObjectSnapshot), stream decodificati (pckDecodedStream) e voci applicative (pckApplication)
TPdfCacheGovernorStatisticsRiporta il budget, i byte trattenuti correnti e di picco, i byte bloccati, il numero di voci, le prenotazioni, gli accessi, le evizioni e i rifiuti; i campi includono MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantRiceve callback sincroni EvictCacheEntry dopo che il governatore ha rimosso un token dalla propria contabilità
TPdfCacheGovernorEntryRecord contabile interno esposto per compatibilità con il compilatore; i campi includono Token, Participant, Kind, StoredBytes, LastUsed e Pinned
TPdfCacheGovernorRegistro di token thread-safe con un unico ordine globalmente least-recently-used tra partecipanti e tipi di cache

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Crea un governatore con un budget di byte non negativo
DestroyCancella le voci registrate prima di rilasciare lo stato di sincronizzazione
ReservePrenota byte e restituisce un token positivo, effettuando l'evizione di voci LRU globali quando possibile o restituendo zero quando la voce non può trovarvi spazio
TouchSposta un token esistente nella posizione più recente
ReleaseRimuove la contabilità di un token senza invocare la sua callback di evizione
SetPinnedBlocca o sblocca una voce in uso e riduce le voci dopo lo sblocco
ClearRimuove tutti i token e chiede a ogni partecipante di rilasciare la voce trattenuta
ContainsVerifica se un token resta registrato
UsageForKindRestituisce i byte trattenuti per un TPdfCacheKind
EntryCountForKindRestituisce il numero di voci registrate per un TPdfCacheKind
StatisticsRestituisce un'istantanea di telemetria protetta da lock
MaxBytesLegge o modifica il budget totale e riduce immediatamente le voci non bloccate dopo una diminuzione

Ownership and callback contract

Il governatore non è mai proprietario dei partecipanti né dei loro dati trattenuti

Ogni partecipante deve sopravvivere a tutti i propri token registrati e non deve sollevare eccezioni da EvictCacheEntry

I callback girano in modo sincrono senza che il lock del governatore sia trattenuto, quindi i partecipanti possono chiamare in sicurezza Release per token correlati

Le voci bloccate possono mantenere temporaneamente StoredBytes sopra un valore MaxBytes ridotto finché l'ultimo utente non le sblocca

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE resta disponibile tramite reLimitCache e applica il limite nativo fisso di PDFium per la cache immagini per pagina

PDFium non espone alcun ABI pubblico per un budget di byte di cache a livello di processo configurabile o interrogabile

Il governatore misura quindi gli oggetti trattenuti di proprietà di PDFium Delphi Component e usa una stima esplicita per le scene di pagina analizzate non trasparenti

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor