| Type | Description |
|---|---|
EPdfCacheError | Signale des budgets, des tailles d’entrées et des participants invalides |
TPdfCacheKind | Classe 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) |
TPdfCacheGovernorStatistics | Rapporte 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 |
TPdfCacheParticipant | Reçoit des rappels EvictCacheEntry synchrones après que le gouverneur a retiré un jeton de sa comptabilité |
TPdfCacheGovernorEntry | Enregistrement de comptabilité interne exposé pour la compatibilité compilateur ; les champs incluent Token, Participant, Kind, StoredBytes, LastUsed et Pinned |
TPdfCacheGovernor | Registre de jetons thread-safe avec un unique ordre de moindre utilisation récente global à travers les participants et les types de cache |
| Member | Description |
|---|---|
Create(AMaxBytes: Int64) | Crée un gouverneur avec un budget d’octets non négatif |
Destroy | Efface les entrées enregistrées avant de libérer l’état de synchronisation |
Reserve | Ré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 |
Touch | Déplace un jeton existant vers la position la plus récente |
Release | Retire la comptabilité d’un jeton sans invoquer son rappel d’éviction |
SetPinned | Protège ou déprotège une entrée en cours d’utilisation et rogne après retrait de la protection |
Clear | Retire tous les jetons et demande à chaque participant de libérer son entrée conservée |
Contains | Teste si un jeton reste enregistré |
UsageForKind | Renvoie les octets conservés pour un TPdfCacheKind |
EntryCountForKind | Renvoie le nombre d’entrées enregistrées pour un TPdfCacheKind |
Statistics | Renvoie un instantané de télémétrie protégé par verrou |
MaxBytes | Lit ou modifie le budget total et rogne immédiatement les entrées non épinglées après une réduction |
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
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