PDFium Delphi Component Docs

CacheBudgetBytes ویژگی

کامپوننت: TPdf  ·  واحد: PDFium
سقف بایتی مشترکی را تعیین می‌کند که همهٔ ورودی‌های کش نگه‌داشته‌شدهٔ متعلق به یک نمونهٔ TPdf را محدود نگه می‌دارد

Syntax

property CacheBudgetBytes: Int64; // read and write, default 256 MiB

Description

هر نمونهٔ TPdf یک TPdfCacheGovernor خصوصی دارد و این ویژگی همان سقف MaxBytes آن است. صحنه‌های صفحهٔ تجزیه‌شدهٔ نگه‌داشته‌شده، تصاویر بندانگشتی، درخت‌های عناصر ساختار، اسنپ‌شات‌های صفحهٔ متنی، اسنپ‌شات‌های شیء صفحه و هر TPdfTileCache متصل به همان گرداننده، بایت‌های اندازه‌گیری‌شدهٔ خود را از همین یک بودجه رزرو می‌کنند

کش‌های بیت‌مپ به‌صورت طول ضرب‌در ارتفاع ضرب‌در چهار بایت اندازه‌گیری می‌شوند، کش‌های اسنپ‌شات مدیریت‌شده از روی رکوردها، رشته‌ها، آرایه‌ها و بافرهای بایتی‌شان برآورد می‌شوند و صحنه‌های صفحهٔ تجزیه‌شدهٔ PDFium که ماهیتی مات دارند، به‌ازای هر صحنهٔ نگه‌داشته‌شده ۸ MiB بار حسابداری با خود حمل می‌کنند

کاهش مقدار بلافاصله اعمال می‌شود: در همهٔ کش‌های مشارکت‌کننده، ورودی‌های سنجاق‌نشدهٔ کم‌استفادهٔ اخیر (LRU) آن‌قدر اخراج می‌شوند تا مصرف اندازه‌گیری‌شده در سقف جدید جا شود

Remarks

صفر کردن بودجه، نگه‌داشتن‌های جدید را از کار می‌اندازد؛ از آن پس هر رزرو رد می‌شود و در RejectionCount شمرده می‌شود، در حالی که صحنه‌های صفحهٔ سنجاق‌شدهٔ فعال، به محض پایان رندر آزاد می‌شوند

صحنه‌های صفحهٔ تجزیه‌شدهٔ فعال در طول رندر سنجاق می‌شوند و ممکن است مصرف اندازه‌گیری‌شده را موقتاً بالای بودجهٔ کاهش‌یافته نگه دارند تا رندر آن‌ها را آزاد کند

مقادیر منفی EPdfError برپا می‌کنند. خواندن مقدار، سقف فعلی را برمی‌گرداند و وقتی گرداننده در دسترس نباشد 0 برمی‌گرداند؛ چیزی که در عمل فقط خارج از طول عمر عادی کامپوننت رخ می‌دهد

بودجه فقط ورودی‌های کش کتابخانهٔ نگه‌داشته‌شده را پوشش می‌دهد؛ نسخه‌های بیت‌مپ متعلق به فراخوان و نسخه‌های اسنپ‌شات بازگردانده‌شده بیرون از بودجه می‌مانند

Example

Pdf.CacheBudgetBytes := Int64(128) * 1024 * 1024;
Stats := Pdf.CacheGovernorStatistics;
LogCacheBudget(Stats.StoredBytes, Stats.PeakStoredBytes);

See Also

CacheGovernorStatistics, CacheGovernor, ThumbnailCacheMaxBytes, PageSceneCacheCapacity, FPdfCache