Planung des Spitzenarbeitsspeichers
HotPDF lässt konkurrierende Operationen mit hohem Speicherbedarf über ein prozessweites Bytebudget zu, bevor sie ihre wichtigsten Arbeitsspeicherbereiche allokieren
Abgedeckte Vorgänge
- Laden von Dokumenten
- Synchrone, zwischengespeicherte und progressive Seitenwiedergabe
- Paralleles Rendern von Seiten, Kacheln und Bändern
- Selektive Stream-Optimierung
- Begrenzte parallele Bildoptimierung
Jede Operation reserviert eine konservative Schätzung aus Quellgröße, Renderabmessungen, DPI, Streamschwelle und Workeranzahl und gibt die Reservierung an der bestehenden Telemetriegrenze der Operation frei
Aufnahmeregeln
- Das prozessweite Standardbudget beträgt
536870912Bytes - Der Wert
0deaktiviert die Budgetbegrenzung - Wartende werden in FIFO-Reihenfolge zugelassen, damit spätere kleine Anforderungen eine frühere große Anforderung nicht verhungern lassen
- Eine Anforderung, die größer als das konfigurierte Budget ist, kann nur ausgeführt werden, wenn keine andere Reservierung aktiv ist
- Eine Budgeterhöhung kann wartende Arbeit sofort zulassen, während eine Verringerung aktive Arbeit niemals unterbricht
- Wartende Abfragen prüfen das Abbruchtoken der Operation in begrenzten Intervallen von 50 ms
Der unbestrittene Pfad allokiert kein Warteereignis, während umkämpfte Operationen ein privates Ereignis verwenden und nicht aktiv warten
Konfiguration
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 ist pro Komponente und kann die Zulassung für vertrauenswürdige isolierte Arbeit umgehen, während PeakMemorySchedulerBudgetBytes den gemeinsamen prozessweiten Planer konfiguriert
Statistiken
THPDFPeakMemorySchedulerStatistics meldet aktuelle und höchste reservierte Bytes, aktuelle und höchste aktive Reservierungen, aktuelle und höchste Wartende, gesamte und verzögerte Zulassungen, übergroße Zulassungen, Abbrüche und die aggregierte Wartezeit
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds und MemorySchedulerDelayed ordnen die Planungskosten der jüngsten Operation zu