property CacheBudgetBytes: Int64; // default 256 MiB
Eine Wertänderung greift sofort über jeden an dieser TPdf-Instanz beteiligten Cache hinweg
Der Wert null deaktiviert die neue Rückhaltung und verdrängt jeden inaktiven Eintrag
Negative Werte lösen EPdfError aus
Aktive geparste Seitenszenen sind angepinnt und können die gemessene Nutzung vorübergehend über ein reduziertes Budget anheben, bis das Rendering sie freigibt
property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf
Gibt den gemeinsamen Governor für nutzungsartbezogene Abfragen und eine optionale Koordination mit anwendungsseitigen Caches zurück
Geben Sie das zurückgegebene Objekt nicht frei und halten Sie es nicht über die Zerstörung der besitzenden TPdf-Instanz hinaus
Aufrufer können pckApplication-Einträge über einen Teilnehmer registrieren, der dem FPdfCache-Callback- und Lebensdauervertrag folgt
property CacheGovernorStatistics: TPdfCacheGovernorStatistics;
Gibt aktuelle und maximale gemessene Bytes, angepinnte Bytes, die Eintragsanzahl, Reservierungs- und Zugriffsaktivität, Verdrängungen und abgelehnte Reservierungen zurück
Der Schnappschuss deckt nur zurückgehaltene Bibliotheks-Cache-Einträge ab
Bitmap-Kopien des Aufrufers und zurückgegebene Snapshot-Kopien bleiben außerhalb des Budgets, während Lesevorgänge dekodierter Streams flüchtig bleiben und ihre bestehenden harten Grenzen pro Operation behalten
Bitmap-Caches verwenden Breite mal Höhe mal vier Bytes
Verwaltete Snapshot-Caches umfassen Record-Arrays, Strings, Byte-Puffer, Pfadsegmente, Clip-Daten, Marks, Bildmetadaten und verschachtelte Werte
Geparste PDFium-Seitenszenen sind opake native Handles und erhalten eine Buchung von 8 MiB pro zurückgehaltener Szene, statt einen exakten nativen Heap-Verbrauch zu beanspruchen
var
Stats: TPdfCacheGovernorStatistics;
begin
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;