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
| Layer | Entries | Total bytes | Per entry | Adaptive |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | Yes |
clkDecoded | 256 | 32 MiB | 16 MiB | Yes |
clkDisplayList | 64 | 64 MiB | 16 MiB | Yes |
clkRaster | 8 | 128 MiB | 64 MiB | Yes |
Admission behaviour
นโยบายที่เปิดใช้ต้องมีขีดจำกัดรายการ ไบต์รวม และไบต์ต่อรายการที่เป็นบวก และขีดจำกัดต่อรายการต้องไม่เกินขีดจำกัดไบต์รวม
การเปลี่ยนชั้นหนึ่งไม่กระทบชั้นอื่นเลย และการลดขีดจำกัดจะลบรายการที่ใช้ล่าสุดน้อยที่สุดออกทันทีจนกว่าแคชที่ได้รับผลจะพอดี
เมื่อเปิด AdaptiveAdmission ลำดับที่ใช้ล่าสุดน้อยที่สุดยังคงเป็นเส้นทางความใหม่ที่รวดเร็ว ขณะที่โครงร่างความถี่แบบมีขอบเขตสี่ทางเปรียบเทียบแคนดิเดตใหม่กับเหยื่อที่จำเป็นทุกตัวก่อนการขับไล่
แคนดิเดตที่เย็นกว่าจะข้ามการเก็บไว้โดยไม่รบกวนคำขอปัจจุบัน ความถี่ที่เท่ากันให้ความนิยมแก่แคนดิเดตที่ใหม่กว่า และการลดอายุตัวนับเป็นช่วงทำ ให้ชุดงานที่เปลี่ยนไปแทนที่รายการยอดนิยมทางประวัติได้
ตั้ง AdaptiveAdmission เป็น False เพื่อคงขอบเขตคงที่เดียวกันด้วยการรับเข้าแบบใช้ล่าสุดน้อยที่สุดล้วน ๆ
รายการที่ใหญ่กว่า MaxEntryBytes ใช้สำหรับการดำเนินการปัจจุบันแต่ข้ามการเก็บไว้ เพื่อป้องกันไม่ให้ภาพที่ถอดรหัส รายการแสดงผล หรือหน้าที่เรนเดอร์ชิ้นใหญ่แทนที่รายการเล็กที่ใช้ซ้ำได้
การตั้ง Enabled เป็น False โดยมีขีดจำกัดเป็นศูนย์จะปิดการเก็บไว้สำหรับชั้นนั้น ขณะที่ ResetCacheAdmissionPolicies คืนค่าเริ่มต้นทั้งสี่ทั้งหมด
Statistics
THPDFCacheAdmissionStatistics คืนขีดจำกัดที่ใช้งาน โหมดปรับตัว การใช้งานรายการและไบต์ปัจจุบัน การชน การพลาด การรับเข้าที่ยอมรับ การรับเข้าที่ถูกปฏิเสธ การขับไล่ตามความจุ การตัดสินใจความถี่ และรอบการลดอายุ
สถิติช่วงดิบอธิบายต้นทางการรวมอัตโนมัติที่สร้างโดย LoadFromRandomAccessSource ส่วน THPDFCoalescingRandomAccessSource ที่จัดให้อย่างชัดเจนจะคงการกำหนดค่าที่ผู้เรียกเลือกไว้
Compatibility properties
RenderCacheCapacity อัปเดตขีดจำกัดรายการราสเตอร์ และ ImageCacheMaxBytes อัปเดตขีดจำกัดไบต์รวมของภาพที่ถอดรหัสผ่านเส้นทางการตรวจสอบนโยบายและตัดทอนทันทีเดียวกัน
See also: Scalable Loading, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource