Tepe Bellek Zamanlaması
HotPDF, yüksek ayak izli rekabet eden işlemleri, ana çalışma kümelerini tahsis etmeden önce tek bir process geneli byte bütçesi üzerinden kabul eder
Kapsanan işlemler
- Belge yükleme
- Senkron, cache'li ve progresif sayfa rendering
- Paralel sayfa, tile ve band rendering
- Seçmeli stream optimizasyonu
- Sınırlı paralel görsel optimizasyonu
Her işlem; kaynak boyutu, render boyutları, DPI, stream eşiği ve worker sayısından türetilen ihtiyatlı bir tahmini rezerve eder ve rezervasyonu mevcut işlem telemetrisi sınırında serbest bırakır
Kabul politikası
- Varsayılan process geneli bütçe
536870912bayttır 0değeri bütçe sınırlamayı devre dışı bırakır- Bekleyenler FIFO sırayla kabul edilir; böylece sonraki küçük istekler önceki büyük bir isteği aç bırakamaz
- Yapılandırılmış bütçeden büyük bir istek, yalnızca etkin başka rezervasyon yokken çalışabilir
- Bütçeyi artırmak kuyruktaki işi hemen kabul edebilir; azaltmak ise etkin işi asla yarıda kesmez
- Kuyruktaki bekleyişler, işlem iptal token'ını sınırlı 50 ms aralıklarla yoklar
Rekabetsiz yol bekleme event'i tahsis etmez; rekabetli işlemler ise tek bir private event kullanır ve spin yapmaz
Yapılandırma
PDF.PeakMemorySchedulerEnabled := True;
PDF.PeakMemorySchedulerBudgetBytes := 768 * 1024 * 1024;
PDF.ResetPeakMemorySchedulerStatistics;
if PDF.GetPeakMemorySchedulerStatistics(Stats) then
begin
WriteLn(Stats.PeakReservedBytes);
WriteLn(Stats.DelayedAdmissionCount);
WriteLn(Stats.TotalWaitMilliseconds);
end;
PeakMemorySchedulerEnabled component başınadır ve güvenilen izole iş için kabulü atlayabilir; PeakMemorySchedulerBudgetBytes ise paylaşılan process geneli zamanlayıcıyı yapılandırır
İstatistikler
THPDFPeakMemorySchedulerStatistics; güncel ve tepe rezerve baytları, güncel ve tepe etkin rezervasyonlar, güncel ve tepe bekleyenler, toplam ve gecikmeli kabul, aşırı büyük kabul, iptaller ve toplu bekleme süresini raporlar
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds ve MemorySchedulerDelayed, zamanlama maliyetini en son işleme atfeder