Chính sách chấp nhận bộ nhớ đệm THotPDF

Kiểm soát việc chấp nhận bộ nhớ đệm độc lập cho các dải nguồn nén thô, hình ảnh đã giải mã, danh sách hiển thị trang đã biên dịch và các trang raster đã kết xuất

Khai báo

THPDFCacheLayerKind = (clkRawCompressed, clkDecoded,
  clkDisplayList, clkRaster);

THPDFCacheAdmissionPolicy = record
  Enabled: boolean;
  AdaptiveAdmission: boolean;
  MaxEntries: Integer;
  MaxTotalBytes: Int64;
  MaxEntryBytes: Int64;
end;

THPDFCacheAdmissionStatistics = record
  Enabled: boolean;
  AdaptiveAdmission: boolean;
  MaxEntries: Integer;
  MaxTotalBytes: Int64;
  MaxEntryBytes: Int64;
  EntryCount: Integer;
  CurrentBytes: Int64;
  HitCount: Int64;
  MissCount: Int64;
  AdmissionCount: Int64;
  RejectionCount: Int64;
  EvictionCount: Int64;
  FrequencyAdmissionCount: Int64;
  FrequencyRejectionCount: Int64;
  FrequencyAgingCount: Int64;
end;

procedure ResetCacheAdmissionPolicies;
procedure SetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
  const Policy: THPDFCacheAdmissionPolicy);
function GetCacheAdmissionPolicy(Kind: THPDFCacheLayerKind;
  out Policy: THPDFCacheAdmissionPolicy): boolean;
function GetCacheAdmissionStatistics(Kind: THPDFCacheLayerKind;
  out Statistics: THPDFCacheAdmissionStatistics): boolean;

Giới hạn mặc định

LớpSố mụcTổng byteMỗi mụcThích ứng
clkRawCompressed82 MiB256 KiBCó
clkDecoded25632 MiB16 MiBCó
clkDisplayList6464 MiB16 MiBCó
clkRaster8128 MiB64 MiBCó

Hành vi chấp nhận

Một chính sách được bật yêu cầu giới hạn số mục, tổng byte và mỗi mục dương tính, đồng thời giới hạn mỗi mục không được vượt quá giới hạn tổng byte

Thay đổi một lớp không bao giờ thay đổi lớp khác, và hạ giới hạn sẽ ngay lập tức loại bỏ các mục ít được dùng gần nhất cho đến khi bộ nhớ đệm bị ảnh hưởng vừa khít

Với AdaptiveAdmission được bật, thứ tự ít được dùng gần nhất vẫn là đường dẫn truy cập gần đây nhanh trong khi một bản phác thảo tần suất có giới hạn bốn chiều so sánh ứng viên mới với mọi nạn nhân bắt buộc trước khi trục xuất

Một ứng viên ít nóng hơn bỏ qua việc giữ lại mà không làm xáo trộn yêu cầu hiện tại, tần suất bằng nhau ưu tiên ứng viên mới hơn, và việc lão hóa bộ đếm định kỳ cho phép một tập làm việc đã thay đổi thay thế các mục nóng trong lịch sử

Đặt AdaptiveAdmission thành False để giữ các giới hạn cứng tương tự với việc chấp nhận thuần túy theo thứ tự ít được dùng gần nhất

Các mục lớn hơn MaxEntryBytes được dùng cho thao tác hiện tại nhưng bỏ qua việc giữ lại, ngăn một hình ảnh đã giải mã lớn, danh sách hiển thị hoặc trang đã kết xuất thay thế các mục nhỏ hơn có thể tái sử dụng

Đặt Enabled thành False với giới hạn bằng 0 sẽ vô hiệu hóa việc giữ lại cho lớp đó, trong khi ResetCacheAdmissionPolicies khôi phục cả bốn giá trị mặc định

Thống kê

THPDFCacheAdmissionStatistics trả về các giới hạn đang hoạt động, chế độ thích ứng, số mục và byte chiếm dụng hiện tại, số lần trúng, số lần trượt, số lần chấp nhận, số lần từ chối, số lần trục xuất theo dung lượng, các quyết định tần suất và các chu kỳ lão hóa

Thống kê dải thô mô tả nguồn hợp nhất tự động được tạo bởi LoadFromRandomAccessSource; một THPDFCoalescingRandomAccessSource được cung cấp tường minh giữ lại cấu hình do người gọi chọn

Các thuộc tính tương thích

RenderCacheCapacity cập nhật giới hạn mục raster và ImageCacheMaxBytes cập nhật giới hạn tổng byte hình ảnh đã giải mã thông qua cùng đường xác thực chính sách và cắt giảm ngay lập tức

Xem thêm: Tải có khả năng mở rộng, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource