מדיניות קבלת שמירה של 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;

מגבלות ברירת מחדל

שכבהרשומותסה"כ בייטיםלכל רשומהאדפטיבית
clkRawCompressed82 MiB256 KiBכן
clkDecoded25632 MiB16 MiBכן
clkDisplayList6464 MiB16 MiBכן
clkRaster8128 MiB64 MiBכן

התנהגות הקבלה

מדיניות מופעלת דורשת מגבלות חיוביות של רשומות, סה"כ בייטים ובייטים לרשומה, ומגבלת הרשומה היחידה אינה רשאית לחרוג ממגבלת סה"כ הבייטים

החלפת שכבה אחת לעולם אינה משנה שכבה אחרת, והנמכת מגבלה מסירה מיד רשומות שלא נעשה בהן שימוש במשך הזמן הרב ביותר עד שהשמירה המושפעת מתאימה

עם הפעלת AdaptiveAdmission, סדר השימוש המינימלי נשאר מסלול הרעננות המהיר בעוד תרשים תדירות חסום בול בארבע-כיווניות משווה מועמד חדש עם כל קורבן נדרש לפני פינוי

מועמד "קר" יותר עוקף את השמירה מבלי להפריע לבקשה הנוכחית, תדירות שווה מעדיפה את המועמד החדש יותר, והזדקנות מונה מחזורית מאפשרת למערך עבודה שהשתנה להחליף רשומות חמות היסטוריות

הגדר את AdaptiveAdmission ל-False כדי לשמור על אותם גבולות נוקשים עם קבלה טהורה של שימוש מינימלי

רשומות הגדולות מ-MaxEntryBytes משמשות לפעולה הנוכחית אך עוקפות את השמירה, מה שמונע מתמונה מפוענחת גדולה אחת, רשימת תצוגה או עמוד מעובד לעקור רשומות קטנות שמישות חוזרות

הגדרת Enabled ל-False עם אפס מגבלות מבטלת את השמירה עבור אותה שכבה, בעוד ResetCacheAdmissionPolicies משחזר את כל ארבעת ברירות המחדל

סטטיסטיקות

THPDFCacheAdmissionStatistics מחזיר את המגבלות הפעילות, מצב האדפטיביות, תפוסת הרשומות והבייטים הנוכחית, פגיעות, החטאות, קבלות שהתקבלו, קבלות שנדחו, פינויים מיכולת, החלטות תדירות ומחזורי הזדקנות

הסטטיסטיקות של טווח גולמי מתארות את מקור המיזוג האוטומטי שנוצר על ידי LoadFromRandomAccessSource; מקור THPDFCoalescingRandomAccessSource שסופק במפורש שומר על התצורה שנבחרה על ידי הקורא

מאפייני תאימות

RenderCacheCapacity מעדכן את מגבלת רשומות הרסטר ו-ImageCacheMaxBytes מעדכן את מגבלת סה"כ הבייטים של התמונה המפוענחת דרך אותו אימות מדיניות ומסלול גיזום מיידי

ראו גם: טעינה מדרגתית, THPDFCoalescingRandomAccessSource, LoadFromRandomAccessSource