property CacheBudgetBytes: Int64; // default 256 MiB
Wijzigen van de waarde werkt direct door in elke deelnemende cache die deze TPdf-instantie bezit
De waarde op nul zetten schakelt nieuwe retentie uit en verwijdert elk inactief item
Negatieve waarden verhogen EPdfError
Actieve geparseerde paginascenes zijn vastgezet en kunnen het gemeten gebruik tijdelijk boven een verlaagd budget houden totdat rendering ze vrijgeeft
property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf
Geeft de gedeelde governor terug voor gebruiksvragen per soort en optionele coördinatie met caches in eigendom van de toepassing
Geef het teruggegeven object niet vrij en houd het niet vast nadat de eigenende TPdf-instantie is vernietigd
Aanroepers kunnen pckApplication-items registreren via een deelnemer die het FPdfCache-callback- en levensduurcontract volgt
property CacheGovernorStatistics: TPdfCacheGovernorStatistics;
Geeft huidige en piek gemeten bytes, vastgezette bytes, itemaantal, reserverings- en raadplegingsactiviteit, verwijderingen en geweigerde reserveringen terug
De snapshot dekt alleen bewaarde library-cacheitems
Bitmapkopieën en teruggegeven snapshotkopieën in eigendom van de aanroeper vallen buiten het budget, terwijl gedecodeerde-stream-reads kortstondig blijven en hun bestaande harde limieten per bewerking behouden
Bitmapcaches gebruiken breedte keer hoogte keer vier bytes
Beheerde snapshotcaches omvatten recordarrays, strings, bytebuffers, padsegmenten, clipdata, marks, afbeeldingsmetadata en geneste waarden
Geparseerde PDFium-paginascenes zijn ondoorzichtige native handles en krijgen een boekhoudlast van 8 MiB per bewaarde scene in plaats van een claim van exact native heapgebruik
var
Stats: TPdfCacheGovernorStatistics;
begin
Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;