PDFium Delphi Component Docs

FPdfCache Unité

Module: FPdfCache
Fournit un gouverneur de budget d’octets partagé pour les données PDF conservées dont les propriétaires peuvent libérer les entrées à la demande

Types

TypeDescription
EPdfCacheErrorSignale des budgets, des tailles d’entrées et des participants invalides
TPdfCacheKindClasse les scènes de page (pckPageScene), les tuiles (pckTile), les vignettes (pckThumbnail), les polices système (pckSystemFont), les données de structure (pckStructure), les instantanés de texte (pckTextSnapshot), les instantanés d’objets de page (pckPageObjectSnapshot), les flux décodés (pckDecodedStream) et les entrées d’application (pckApplication)
TPdfCacheGovernorStatisticsRapporte le budget, les octets conservés courant et crête, les octets épinglés, le nombre d’entrées, les réservations, les rafraîchissements, les évictions et les rejets ; les champs incluent MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount
TPdfCacheParticipantReçoit des rappels EvictCacheEntry synchrones après que le gouverneur a retiré un jeton de sa comptabilité
TPdfCacheGovernorEntryEnregistrement de comptabilité interne exposé pour la compatibilité compilateur ; les champs incluent Token, Participant, Kind, StoredBytes, LastUsed et Pinned
TPdfCacheGovernorRegistre de jetons thread-safe avec un unique ordre de moindre utilisation récente global à travers les participants et les types de cache

TPdfCacheGovernor members

MemberDescription
Create(AMaxBytes: Int64)Crée un gouverneur avec un budget d’octets non négatif
DestroyEfface les entrées enregistrées avant de libérer l’état de synchronisation
ReserveRéserve des octets et renvoie un jeton positif, en évinçant les entrées LRU globales lorsque possible ou en renvoyant zéro lorsque l’entrée ne peut pas tenir
TouchDéplace un jeton existant vers la position la plus récente
ReleaseRetire la comptabilité d’un jeton sans invoquer son rappel d’éviction
SetPinnedProtège ou déprotège une entrée en cours d’utilisation et rogne après retrait de la protection
ClearRetire tous les jetons et demande à chaque participant de libérer son entrée conservée
ContainsTeste si un jeton reste enregistré
UsageForKindRenvoie les octets conservés pour un TPdfCacheKind
EntryCountForKindRenvoie le nombre d’entrées enregistrées pour un TPdfCacheKind
StatisticsRenvoie un instantané de télémétrie protégé par verrou
MaxBytesLit ou modifie le budget total et rogne immédiatement les entrées non épinglées après une réduction

Ownership and callback contract

Le gouverneur n’est jamais propriétaire des participants ni de leurs données conservées

Chaque participant doit survivre à tous ses jetons enregistrés et ne doit pas lever d’exception depuis EvictCacheEntry

Les rappels s’exécutent de manière synchrone sans que le verrou du gouverneur soit détenu, de sorte que les participants peuvent appeler Release sans risque pour les jetons associés

Les entrées épinglées peuvent maintenir temporairement StoredBytes au-dessus d’une valeur MaxBytes réduite jusqu’à ce que le dernier utilisateur les détache

PDFium boundary

FPDF_RENDER_LIMITEDIMAGECACHE reste disponible via reLimitCache et applique la limite native fixe par page du cache d’images de PDFium

PDFium n’expose aucun ABI public pour un budget d’octets de cache à l’échelle du processus configurable ou interrogeable

Le gouverneur mesure donc les objets conservés détenus par PDFium Delphi Component et utilise une estimation explicite pour les scènes de page analysées opaques

See Also

TPdf cache governor, TPdfTileCache, ConfigureSystemFontCacheGovernor