PDFium Delphi Component Docs

FPdfCache enhed

Enhed: FPdfCache
Leverer en delt bytebudget-governor til gemte PDF-data, hvis ejere kan frigive poster på opfordring

Types

TypeDescription
EPdfCacheErrorRapporterer ugyldige budgetter, poststørrelser og deltagere
TPdfCacheKindKlassificerer pagescener (pckPageScene), fliser (pckTile), thumbnails (pckThumbnail), systemfonts (pckSystemFont), strukturdata (pckStructure), tekst-snapshots (pckTextSnapshot), page-object-snapshots (pckPageObjectSnapshot), dekodede streams (pckDecodedStream) og applikationsposter (pckApplication)
TPdfCacheGovernorStatisticsRapporterer budgettet, nuværende og maksimale gemte bytes, pinned bytes, postantal, reservationer, touches, evictions og afvisninger; felterne omfatter MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantModtager synkrone EvictCacheEntry-callbacks, efter governoren har fjernet et token fra sin bogføring
TPdfCacheGovernorEntryIntern bogføringsrecord, der eksponeres af hensyn til compiler-kompatibilitet; felterne omfatter Token, Participant, Kind, StoredBytes, LastUsed og Pinned
TPdfCacheGovernorTrådsikker token-registrering med én global least-recently-used-rækkefølge på tværs af deltagere og cache-typer

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Opretter en governor med et ikke-negativt bytebudget
DestroyRydder registrerede poster, før synkroniseringstilstanden frigives
ReserveReserverer bytes og returnerer et positivt token, evicter globale LRU-poster, hvor det er muligt, eller returnerer nul, når posten ikke kan være der
TouchFlytter et eksisterende token til den nyeste position
ReleaseFjerner bogføringen for et token uden at kalde dets eviction-callback
SetPinnedBeskytter eller ophæver beskyttelsen af en post i brug og beskærer efter unpinning
ClearFjerner alle tokens og beder hver deltager om at frigive sin gemte post
ContainsTester, om et token stadig er registreret
UsageForKindReturnerer gemte bytes for én TPdfCacheKind
EntryCountForKindReturnerer antallet af registrerede poster for én TPdfCacheKind
StatisticsReturnerer et låsebeskyttet telemetri-snapshot
MaxBytesLæser eller ændrer det samlede budget og beskærer straks upinnede poster efter en reduktion

Ownership and callback contract

Governoren ejer aldrig deltagere eller deres gemte data

Enhver deltager skal overleve alle sine registrerede tokens og må ikke udløse en exception fra EvictCacheEntry

Callbacks kører synkront uden at governor-låsen er holdt, så deltagere trygt kan kalde Release for relaterede tokens

Pinnede poster kan midlertidigt holde StoredBytes over en reduceret MaxBytes-værdi, indtil den sidste bruger unpinner dem

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE forbliver tilgængelig via reLimitCache og anvender PDFiums faste native grænse for image-cache pr. side

PDFium eksponerer ingen offentlig ABI for et konfigurerbart eller forespørgeligt procesbredt cache-bytebudget

Governoren måler derfor PDFiumPas-ejede gemte objekter og bruger et eksplicit estimat for opake parsede pagescener

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor