Toppminne-planlegging
HotPDF slipper inn konkurrerende høyt-fotavtrykk-operasjoner gjennom ett prosessomfattende bytebudsjett før de tildeler hovedarbeidsmengdene sine
Operasjoner som omfattes
- Innlasting av dokument
- Dokumentlasting
- Synkron, hurtigbuffer- og progressiv sidegjengivelse
- Selektiv strømoptimering
- Avgrenset parallell bildeoptimering
Hver operasjon reserverer et konservativt estimat utledet fra kildestørrelsen, gjengivelsesdimensjonene, DPI-en, strømterskelen og arbeidertallet, og frigi reservasjonen ved den eksisterende operandotsisjons-telemetrigrensen
Innslippspolitikk
- Standard prosessomfattende budsjett er
536870912bytes - En verdi på
0deaktiverer budsjettbegrensningen - Ventere slippes inn i FIFO-rekkefølge slik at senere små forespørsler ikke kan utsulte en tidligere stor forespørsel
- En forespørsel større enn det konfigurerte budsjettet kan bare kjøre når ingen annen reservasjon er aktiv
- Å øke budsjettet kan slippe inn køet arbeid umiddelbart, mens å redusere det avbryter aldri aktivt arbeid
- Køede ventinger poller operasjonens avbrytelses-token med avgrensede 50 ms-intervaller
Den ukonkurrerte banen tildeler ingen ventehendelse, mens konkurrerte operasjoner bruker én privat hendelse og spinner ikke
Konfigurasjon
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 er per komponent og kan omgå innslipp for pålitelig isolert arbeid, mens PeakMemorySchedulerBudgetBytes konfigurerer den delte prosessomfattende planleggeren
Statistikk
THPDFPeakMemorySchedulerStatistics rapporterer gjeldende og topp reserverte bytes, gjeldende og topp aktive reservasjoner, gjeldende og topp ventere, totale og forsinkede innslipp, overstørrete innslipp, avbrytelser og samlet ventetid
THPDFOperationTelemetry.ScheduledMemoryBytes, MemorySchedulerWaitMilliseconds og MemorySchedulerDelayed henfører planleggingskostnad til den nyeste operasjonen