מדיניות קבלת שמירה של THotPDF
שולט בקבלת שמירה באופן עצמאי עבור טווחי מקור דחוסים גולמיים, תמונות מפוענחות, רשימות תצוגה מהודרות ועמודים מרוצפים ברסטר
הצהרות
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;
מגבלות ברירת מחדל
| שכבה | רשומות | סה"כ בייטים | לכל רשומה | אדפטיבית |
|---|---|---|---|---|
clkRawCompressed | 8 | 2 MiB | 256 KiB | כן |
clkDecoded | 256 | 32 MiB | 16 MiB | כן |
clkDisplayList | 64 | 64 MiB | 16 MiB | כן |
clkRaster | 8 | 128 MiB | 64 MiB | כן |
התנהגות הקבלה
מדיניות מופעלת דורשת מגבלות חיוביות של רשומות, סה"כ בייטים ובייטים לרשומה, ומגבלת הרשומה היחידה אינה רשאית לחרוג ממגבלת סה"כ הבייטים
החלפת שכבה אחת לעולם אינה משנה שכבה אחרת, והנמכת מגבלה מסירה מיד רשומות שלא נעשה בהן שימוש במשך הזמן הרב ביותר עד שהשמירה המושפעת מתאימה
עם הפעלת AdaptiveAdmission, סדר השימוש המינימלי נשאר מסלול הרעננות המהיר בעוד תרשים תדירות חסום בול בארבע-כיווניות משווה מועמד חדש עם כל קורבן נדרש לפני פינוי
מועמד "קר" יותר עוקף את השמירה מבלי להפריע לבקשה הנוכחית, תדירות שווה מעדיפה את המועמד החדש יותר, והזדקנות מונה מחזורית מאפשרת למערך עבודה שהשתנה להחליף רשומות חמות היסטוריות
הגדר את AdaptiveAdmission ל-False כדי לשמור על אותם גבולות נוקשים עם קבלה טהורה של שימוש מינימלי
רשומות הגדולות מ-MaxEntryBytes משמשות לפעולה הנוכחית אך עוקפות את השמירה, מה שמונע מתמונה מפוענחת גדולה אחת, רשימת תצוגה או עמוד מעובד לעקור רשומות קטנות שמישות חוזרות
הגדרת Enabled ל-False עם אפס מגבלות מבטלת את השמירה עבור אותה שכבה, בעוד ResetCacheAdmissionPolicies משחזר את כל ארבעת ברירות המחדל
סטטיסטיקות
THPDFCacheAdmissionStatistics מחזיר את המגבלות הפעילות, מצב האדפטיביות, תפוסת הרשומות והבייטים הנוכחית, פגיעות, החטאות, קבלות שהתקבלו, קבלות שנדחו, פינויים מיכולת, החלטות תדירות ומחזורי הזדקנות
הסטטיסטיקות של טווח גולמי מתארות את מקור המיזוג האוטומטי שנוצר על ידי LoadFromRandomAccessSource; מקור THPDFCoalescingRandomAccessSource שסופק במפורש שומר על התצורה שנבחרה על ידי הקורא
מאפייני תאימות
RenderCacheCapacity מעדכן את מגבלת רשומות הרסטר ו-ImageCacheMaxBytes מעדכן את מגבלת סה"כ הבייטים של התמונה המפוענחת דרך אותו אימות מדיניות ומסלול גיזום מיידי
ראו גם: טעינה מדרגתית, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource