PDFium Delphi Component Docs

Unitatea FPdfCache

Unit: FPdfCache
Furnizează un guvernator partajat de buget de octeți pentru date PDF reținute, ai căror proprietari pot elibera intrări la cerere

Types

TypeDescription
EPdfCacheErrorRaportează bugete, dimensiuni de intrări și participanți invalizi
TPdfCacheKindClasifică scene de pagină (pckPageScene), dale (pckTile), miniaturi (pckThumbnail), fonturi de sistem (pckSystemFont), date de structură (pckStructure), instantanee de text (pckTextSnapshot), instantanee de obiecte de pagină (pckPageObjectSnapshot), fluxuri decodate (pckDecodedStream) și intrări de aplicație (pckApplication)
TPdfCacheGovernorStatisticsRaportează bugetul, octeții reținuți curent și la maxim, octeții fixați, numărul de intrări, rezervările, accesările, evacuările și respingerile; câmpurile includ MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantPrimește callback-uri sincrone EvictCacheEntry după ce guvernatorul a eliminat un token din contabilitatea sa
TPdfCacheGovernorEntryÎnregistrare internă de contabilitate expusă pentru compatibilitate cu compilatorul; câmpurile includ Token, Participant, Kind, StoredBytes, LastUsed și Pinned
TPdfCacheGovernorRegistru de token-uri thread-safe, cu o singură ordine globală de tip least-recently-used între participanți și tipurile de cache

TPdfCacheGovernor members

MembruDescriere
Create(AMaxBytes: Int64)Creează un guvernator cu un buget de octeți nenegativ
DestroyCurăță intrările înregistrate înainte de a elibera starea de sincronizare
ReserveRezervă octeți și returnează un token pozitiv, evacuând intrări LRU globale când este posibil sau returnând zero când intrarea nu încape
TouchMută un token existent pe cea mai nouă poziție
ReleaseElimină contabilitatea unui token fără a-i invoca callback-ul de evacuare
SetPinnedFixează sau deblochează o intrare aflată în uz și taie din cache după deblocare
ClearElimină toate token-urile și cere fiecărui participant să-și elibereze intrarea reținută
ContainsVerifică dacă un token rămâne înregistrat
UsageForKindReturnează octeții reținuți pentru un anumit TPdfCacheKind
EntryCountForKindReturnează numărul de intrări înregistrate pentru un TPdfCacheKind
StatisticsReturnează un instantaneu de telemetrie protejat prin blocare
MaxBytesCitește sau schimbă bugetul total și taie imediat intrările nefixate după o reducere

Ownership and callback contract

Guvernatorul nu deține niciodată participanții sau datele lor reținute

Fiecare participant trebuie să supraviețuiască tuturor token-urilor sale înregistrate și nu trebuie să ridice excepții din EvictCacheEntry

Callback-urile rulează sincron, fără ca blocarea guvernatorului să fie menținută, astfel încât participanții pot apela în siguranță Release pentru token-uri înrudite

Intrările fixate pot menține temporar StoredBytes peste o valoare MaxBytes redusă, până când ultimul utilizator le deblochează

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE rămâne disponibil prin reLimitCache și aplică limita nativă fixă de cache de imagini per pagină a PDFium

PDFium nu expune niciun ABI public pentru un buget de octeți de cache la nivel de proces, configurabil sau interogabil

Guvernatorul măsoară, prin urmare, obiectele reținute aparținând PDFiumPas și folosește o estimare explicită pentru scenele de pagină parsate, opace

See Also

Guvernatorul de cache TPdf, TPdfTileCache, ConfigureSystemFontCacheGovernor