| Typ | Beschreibung |
|---|---|
EPdfCacheError | Meldet ungültige Budgets, Eintragsgrößen und Teilnehmer |
TPdfCacheKind | Klassifiziert Seitenszenen (pckPageScene), Kacheln (pckTile), Vorschaubilder (pckThumbnail), Systemschriften (pckSystemFont), Strukturdaten (pckStructure), Text-Schnappschüsse (pckTextSnapshot), Seitenobjekt-Schnappschüsse (pckPageObjectSnapshot), dekodierte Streams (pckDecodedStream) und Anwendungseinträge (pckApplication) |
TPdfCacheGovernorStatistics | Meldet das Budget, aktuelle und maximale vorgehaltene Bytes, angepinnte Bytes, Eintragsanzahl, Reservierungen, Zugriffe, Verdrängungen und Zurückweisungen; Felder sind unter anderem MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount |
TPdfCacheParticipant | Empfängt synchrone EvictCacheEntry-Callbacks, nachdem der Governor ein Token aus seiner Buchhaltung entfernt hat |
TPdfCacheGovernorEntry | Interner Buchhaltungs-Record, der für Compiler-Kompatibilität offengelegt wird; Felder sind unter anderem Token, Participant, Kind, StoredBytes, LastUsed und Pinned |
TPdfCacheGovernor | Thread-sichere Token-Registrierung mit einer globalen Least-Recently-Used-Ordnung über Teilnehmer und Cache-Arten hinweg |
| Member | Beschreibung |
|---|---|
Create(AMaxBytes: Int64) | Erzeugt einen Governor mit einem nicht negativen Byte-Budget |
Destroy | Räumt registrierte Einträge ab, bevor der Synchronisierungszustand freigegeben wird |
Reserve | Reserviert Bytes und gibt ein positives Token zurück, verdrängt nach Möglichkeit globale LRU-Einträge oder gibt null zurück, wenn der Eintrag nicht passt |
Touch | Verschiebt ein bestehendes Token an die neueste Position |
Release | Entfernt die Buchhaltung für ein Token, ohne seinen Verdrängungs-Callback aufzurufen |
SetPinned | Schützt einen genutzten Eintrag oder hebt den Schutz auf und stutzt nach dem Lösen des Schutzes |
Clear | Entfernt alle Tokens und bittet jeden Teilnehmer, seinen vorgehaltenen Eintrag freizugeben |
Contains | Prüft, ob ein Token weiterhin registriert ist |
UsageForKind | Gibt die vorgehaltenen Bytes für eine TPdfCacheKind zurück |
EntryCountForKind | Gibt die registrierte Eintragsanzahl für eine TPdfCacheKind zurück |
Statistics | Gibt einen sperrengeschützten Telemetrie-Schnappschuss zurück |
MaxBytes | Liest oder ändert das Gesamtbudget und stutzt nach einer Verringerung sofort ungeschützte Einträge |
Der Governor ist niemals Eigentümer der Teilnehmer oder ihrer vorgehaltenen Daten
Jeder Teilnehmer muss alle seine registrierten Tokens überdauern und darf aus EvictCacheEntry keine Ausnahme auslösen
Callbacks laufen synchron, ohne dass die Governor-Sperre gehalten wird, sodass Teilnehmer gefahrlos Release für verwandte Tokens aufrufen können
Geschützte Einträge können StoredBytes vorübergehend über einem reduzierten MaxBytes-Wert halten, bis der letzte Nutzer den Schutz aufhebt
FPDF_RENDER_LIMITEDIMAGECACHE bleibt über reLimitCache verfügbar und wendet PDFiums festes natives Image-Cache-Limit pro Seite an
PDFium stellt keine öffentliche ABI für ein konfigurierbares oder abfragbares prozessweites Cache-Byte-Budget bereit
Der Governor misst daher vorgehaltene Objekte im Eigentum von PDFium Delphi Component und verwendet eine explizite Schätzung für opake geparste Seitenszenen