PDFium Delphi Component Docs

TPdf キャッシュガバナー プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium, FPdfCache
保持されたページシーン、サムネイル、構造データ、テキストスナップショット、ページオブジェクトスナップショットを、1 つの計測可能なバイト上限のもとで調整します

CacheBudgetBytes

property CacheBudgetBytes: Int64; // default 256 MiB

値の変更は、この TPdf インスタンスが所有する参加キャッシュ全体に即座に適用されます

値を 0 に設定すると新しい保持が無効化され、非アクティブなエントリがすべて退避されます

負の値を指定すると EPdfError が発生します

アクティブな解析済みページシーンはピン留めされており、レンダリングが解放するまでの間、測定使用量が引き下げ後の予算を一時的に超えることがあります

CacheGovernor

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

種類別の使用量照会や、アプリケーション所有キャッシュとの任意の連携に使用できる共有ガバナーを返します

返されたオブジェクトを解放したり、所有する TPdf インスタンスが破棄された後も参照を保持したりしないでください

呼び出し側は、FPdfCache のコールバックと生存期間の契約に従う参加者を通じて pckApplication エントリを登録できます

CacheGovernorStatistics

property CacheGovernorStatistics: TPdfCacheGovernorStatistics;

現在およびピークの測定バイト数、ピン留めバイト数、エントリ数、予約とアクセスの状況、退避数、拒否された予約を返します

スナップショットの対象はライブラリが保持するキャッシュエントリのみです

呼び出し側所有のビットマップコピーと返却されたスナップショットコピーは予算外のままであり、デコード済みストリームの読み取りは一時的なままで、既存の操作ごとのハードリミットを保ちます

計測モデル

ビットマップキャッシュは幅 × 高さ × 4 バイトを使用します

管理されたスナップショットキャッシュには、レコード配列、文字列、バイトバッファ、パスセグメント、クリップデータ、マーク、画像メタデータ、ネストされた値が含まれます

解析済み PDFium ページシーンは不透明なネイティブハンドルであり、ネイティブヒープの正確な使用量を主張するのではなく、保持されたシーンごとに 8 MiB が計上されます

例

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

関連項目

FPdfCache, サムネイルキャッシュ, PageSceneCacheCapacity, 構造キャッシュ, テキストスナップショットキャッシュ, ページオブジェクトスナップショットキャッシュ