THotPDF Cache Admission Policies

ควบคุมการรับเข้าแคชอย่างอิสระสำหรับช่วงต้นทางที่ถูกบีบอัดแบบดิบ ภาพที่ถอดรหัส รายการแสดงผลที่คอมไพล์ของหน้า และหน้าราสเตอร์ที่เรนเดอร์

Declarations

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;

Default limits

LayerEntriesTotal bytesPer entryAdaptive
clkRawCompressed82 MiB256 KiBYes
clkDecoded25632 MiB16 MiBYes
clkDisplayList6464 MiB16 MiBYes
clkRaster8128 MiB64 MiBYes

Admission behaviour

นโยบายที่เปิดใช้ต้องมีขีดจำกัดรายการ ไบต์รวม และไบต์ต่อรายการที่เป็นบวก และขีดจำกัดต่อรายการต้องไม่เกินขีดจำกัดไบต์รวม

การเปลี่ยนชั้นหนึ่งไม่กระทบชั้นอื่นเลย และการลดขีดจำกัดจะลบรายการที่ใช้ล่าสุดน้อยที่สุดออกทันทีจนกว่าแคชที่ได้รับผลจะพอดี

เมื่อเปิด AdaptiveAdmission ลำดับที่ใช้ล่าสุดน้อยที่สุดยังคงเป็นเส้นทางความใหม่ที่รวดเร็ว ขณะที่โครงร่างความถี่แบบมีขอบเขตสี่ทางเปรียบเทียบแคนดิเดตใหม่กับเหยื่อที่จำเป็นทุกตัวก่อนการขับไล่

แคนดิเดตที่เย็นกว่าจะข้ามการเก็บไว้โดยไม่รบกวนคำขอปัจจุบัน ความถี่ที่เท่ากันให้ความนิยมแก่แคนดิเดตที่ใหม่กว่า และการลดอายุตัวนับเป็นช่วงทำ ให้ชุดงานที่เปลี่ยนไปแทนที่รายการยอดนิยมทางประวัติได้

ตั้ง AdaptiveAdmission เป็น False เพื่อคงขอบเขตคงที่เดียวกันด้วยการรับเข้าแบบใช้ล่าสุดน้อยที่สุดล้วน ๆ

รายการที่ใหญ่กว่า MaxEntryBytes ใช้สำหรับการดำเนินการปัจจุบันแต่ข้ามการเก็บไว้ เพื่อป้องกันไม่ให้ภาพที่ถอดรหัส รายการแสดงผล หรือหน้าที่เรนเดอร์ชิ้นใหญ่แทนที่รายการเล็กที่ใช้ซ้ำได้

การตั้ง Enabled เป็น False โดยมีขีดจำกัดเป็นศูนย์จะปิดการเก็บไว้สำหรับชั้นนั้น ขณะที่ ResetCacheAdmissionPolicies คืนค่าเริ่มต้นทั้งสี่ทั้งหมด

Statistics

THPDFCacheAdmissionStatistics คืนขีดจำกัดที่ใช้งาน โหมดปรับตัว การใช้งานรายการและไบต์ปัจจุบัน การชน การพลาด การรับเข้าที่ยอมรับ การรับเข้าที่ถูกปฏิเสธ การขับไล่ตามความจุ การตัดสินใจความถี่ และรอบการลดอายุ

สถิติช่วงดิบอธิบายต้นทางการรวมอัตโนมัติที่สร้างโดย LoadFromRandomAccessSource ส่วน THPDFCoalescingRandomAccessSource ที่จัดให้อย่างชัดเจนจะคงการกำหนดค่าที่ผู้เรียกเลือกไว้

Compatibility properties

RenderCacheCapacity อัปเดตขีดจำกัดรายการราสเตอร์ และ ImageCacheMaxBytes อัปเดตขีดจำกัดไบต์รวมของภาพที่ถอดรหัสผ่านเส้นทางการตรวจสอบนโยบายและตัดทอนทันทีเดียวกัน

See also: Scalable Loading, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource