PDFium Component Docs

FPdfCache unit

Unit: FPdfCache
Biedt een gedeelde bytebudget-governor voor vastgehouden PDF-data waarvan de eigenaren invoeren op verzoek kunnen vrijgeven

Types

TypeDescription
EPdfCacheErrorRapporteert ongeldige budgetten, invoergroottes en deelnemers
TPdfCacheKindClassificeert paginascenes (pckPageScene), tiles (pckTile), miniaturen (pckThumbnail), systeemlettertypen (pckSystemFont), structuurdata (pckStructure), tekstmomentopnamen (pckTextSnapshot), page-object-momentopnamen (pckPageObjectSnapshot), gedecodeerde streams (pckDecodedStream) en applicatie-invoeren (pckApplication)
TPdfCacheGovernorStatisticsRapporteert budget, huidige en piekvastgehouden bytes, gepinde bytes, invoeraantal, reserveringen, aanrakingen, evicties en afwijzingen; velden zijn onder andere MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantOntvangt synchrone EvictCacheEntry-callbacks nadat de governor een token uit zijn administratie heeft verwijderd
TPdfCacheGovernorEntryIntern administratierecord dat voor compilercompatibiliteit is blootgesteld; velden zijn onder andere Token, Participant, Kind, StoredBytes, LastUsed en Pinned
TPdfCacheGovernorThread-safe tokenregister met één globale least-recently-used-volgorde over deelnemers en cacheoorten heen

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Maakt een governor met een niet-negatief bytebudget
DestroyWist geregistreerde invoeren voordat de synchronisatiestatus wordt vrijgegeven
ReserveReserveert bytes en geeft een positief token terug, waarbij wereldwijd LRU-invoeren worden geëvicteerd indien mogelijk of nul wordt teruggegeven wanneer de invoer niet past
TouchVerplaatst een bestaand token naar de nieuwste positie
ReleaseVerwijdert de administratie van een token zonder zijn eviction-callback aan te roepen
SetPinnedBeschermt of ontbeschermt een in-gebruik-invoer en trimt na het losmaken
ClearVerwijdert alle tokens en verzoekt elke deelnemer zijn vastgehouden invoer vrij te geven
ContainsTest of een token nog steeds geregistreerd is
UsageForKindGeeft de vastgehouden bytes voor één TPdfCacheKind terug
EntryCountForKindGeeft het geregistreerde invoeraantal voor één TPdfCacheKind terug
StatisticsGeeft een lock-beveiligde telemetrie-momentopname terug
MaxBytesLeest of wijzigt het totale budget en trimt na een verlaging onmiddellijk niet-gepinde invoeren

Ownership and callback contract

De governor is nooit eigenaar van deelnemers of hun vastgehouden data

Elke deelnemer moet langer bestaan dan al zijn geregistreerde tokens en mag geen exceptie verhogen vanuit EvictCacheEntry

Callbacks draaien synchroon zonder dat de governorlock vastgehouden wordt, zodat deelnemers veilig Release voor gerelateerde tokens kunnen aanroepen

Gepinde invoeren kunnen StoredBytes tijdelijk boven een verlaagde MaxBytes-waarde houden totdat de laatste gebruiker ze losmaakt

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE blijft beschikbaar via reLimitCache en past de vaste native per-page afbeeldingscachelimiet van PDFium toe

PDFium stelt geen publieke ABI bloot voor een configureerbaar of opvraagbaar procesbreed cachebytebudget

De governor meet daarom de objecten die PDFium Delphi Component zelf vasthoudt en gebruikt een expliciete schatting voor ondoorzichtig geparsede paginascenes

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor