PDFium Delphi Component 文件

TPdf 快取調節器屬性

元件: TPdf  ·  單元: PDFium, FPdfCache
在單一可量測的位元組上限下,協調保留的頁面場景、縮圖、結構資料、文字快照與頁面物件快照

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

變更數值會立即套用到此 TPdf 執行個體擁有的每個參與快取

設為零會停用新的保留,並驅逐每個非作用中的項目

負值會拋出 EPdfError

作用中的已解析頁面場景會被釘選,在算繪釋放它們之前,量測到的用量可能暫時高於調降後的預算

CacheGovernor

property CacheGovernor: TPdfCacheGovernor; // read-only, owned by TPdf

傳回共用的 governor,可用於各類別的用量查詢,以及與應用程式自有快取的選用協調

不要釋放傳回的物件,也不要在擁有的 TPdf 執行個體摧毀後繼續保留它

呼叫端可透過遵循 FPdfCache 回呼與存續期合約的參與者註冊 pckApplication 項目

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

傳回目前與尖峰量測位元組數、釘選位元組數、項目數、保留與觸控活動、驅逐次數,以及被拒絕的保留要求

此快照只涵蓋程式庫保留的快取項目

呼叫端自有的點陣圖複本與傳回的快照複本不在預算之內,已解碼串流的讀取仍屬暫時性,並維持既有的每作業硬上限

量測模型

點陣圖快取以寬 × 高 × 4 位元組計算

受管理的快照快取包含記錄陣列、字串、位元組緩衝區、路徑線段、剪裁資料、標記、影像中繼資料與巢狀值

已解析的 PDFium 頁面場景是不透明的原生控制代碼,每個保留場景計入 8 MiB 的會計費用,並不代表確切的原生堆積用量

Example

var
  Stats: TPdfCacheGovernorStatistics;
begin
  Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
  Stats := Pdf.CacheGovernorStatistics;
  LogCacheUsage(Stats.StoredBytes, Stats.PeakStoredBytes,
    Pdf.CacheGovernor.UsageForKind(pckThumbnail));
end;

See Also

FPdfCache, 縮圖快取, PageSceneCacheCapacity, 結構快取, 文字快照快取, 頁面物件快照快取