Планиране по пикова памет
HotPDF допуска съревнуващи операции с голям отпечатък през един целопроцесорен байтов бюджет, преди те да заделят основните си working set-ове
Покрити операции
- Зареждане на документ
- Синхронно, кеширано и прогресивно рендиране на страници
- Паралелно рендиране на страници, плочки и ленти
- Селективна оптимизация на потоци
- Ограничена паралелна оптимизация на изображения
Всяка операция резервира консервативна оценка, изведена от размера на източника си, размерите на рендиране, DPI, прага на потока и броя работници, после освобождава резервацията на съществуващата граница за телеметрия на операцията
Политика на допускане
- Бюджетът по подразбиране за целия процес е
536870912байта - Стойност
0изключва ограничението по бюджет - Чакащите се допускат в FIFO ред, така че по-късни малки заявки не могат да гладуват по-ранна голяма заявка
- Заявка, по-голяма от конфигурирания бюджет, може да тече само когато няма друга активна резервация
- Увеличаването на бюджета може да допусне чакаща работа веднага, а намаляването му никога не прекъсва активна работа
- Опашните изчаквания разпитват токена за отмяна на операцията на ограничени интервали от 50 ms
Неконкурентният път не заделя wait event, а конкурентните операции използват едно частно събитие и не врят в занят цикъл
Конфигурация
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 е на компонент и може да заобиколи допускането за доверена, изолирана работа, докато PeakMemorySchedulerBudgetBytes конфигурира споделения целопроцесорен планувальник
Статистики
THPDFPeakMemorySchedulerStatistics докладва текущи и пикни резервирани байтове, текущи и пикни активни резервации, текущи и пикни чакащи, общи и отложени допускания, прекалено големи допускания, отменяния и общо време на изчакване
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds и MemorySchedulerDelayed приписват цената на планирането на най-скорошната операция