Krasj-isolerte kodek-arbeidere
HotPDF kan flytte høyrisiko-DCTDecode-, JPXDecode- og JBIG2Decode-bildeavkoding ut av vertsprosessen
Isolasjonsmoduser
cimAutomaticer standard og brukerHotPDFCodecWorker.exenår den er tilgjengelig ved siden av verts-eksekverbar-filen, ellers bevarer den den kompatible in-process-banencimRequiredfeiler lukket når arbeideren mangler, ikke kan starte, krasjer, får tidsavbrudd, avviser inndata eller overskrider en utgangsgrensecimDisabledbruker alltid de eksisterende in-process-avkoderne
Når en tilgjengelig arbeider aksepterer en forespørsel, forsøker ikke cimAutomatic mislykket eller ondsinnet inndata på nytt i vertsprosessen
Prosessgrense
Hver avkodingsforespørsel kjører i en fersk skjult prosess tildelt en enkeltprosess Windows Job Object
- Job Object-en avslutter arbeideren og ethvert forsøkte etterkommer-kall når håndtaket lukkes
CodecWorkerMemoryLimitBytesbruker et per-prosess forpliktet-minne-tak og er som standard 512 MiBCodecWorkerTimeoutMillisecondser som standard 10 000 ms og avslutter en hengende arbeider- Kodet inndata, valgfrie JBIG2-globaler og BGR24-utdata bruker én tilfeldig navngitt delt-minne-kartlegging med en versjonert fastbredde-protokoll
- Den avkodede utdatakapasiteten avgrenses av erklært bildegeometri og
DecodeBudgetBytes - Lav-oppløsnings-JPEG-forespørsler bærer eksakte måldimensjoner og returnerer redusert-DCT-geometri uten å konstruere et full-oppløsnings-arbeider-raster
Konfigurasjon
PDF.CodecIsolationMode := cimRequired;
PDF.CodecWorkerExecutable :=
'C:\Program Files\MyApp\HotPDFCodecWorker.exe';
PDF.CodecWorkerTimeoutMilliseconds := 5000;
PDF.CodecWorkerMemoryLimitBytes := 256 * 1024 * 1024;
Bitmap := PDF.ExtractLoadedImage(0);
if Bitmap = nil then
begin
PDF.GetLastCodecWorkerInfo(Info);
Writeln(Ord(Info.Status), ': ', Info.ErrorMessage);
end;
En tom CodecWorkerExecutable løses til HotPDFCodecWorker.exe ved siden av den gjeldende applikasjonen
Telemetri
GetLastCodecWorkerInfo rapporterer statusen, prosessidentifikatoren, avslutningskoden, forløpte millisekunder og en avgrenset verts-side-diagnostikk
GetLastJPEGReducedDecodeInfo rapporterer kilde-, skalert-, utdata- og skannelinje-geometri etter en isolert redusert-JPEG-forespørsel
Distinkte statuser dekker utilgjengelige eller ikke-lagbare arbeidere, tidsavbrudd, krasj, avvisning av avkoding, protokoll-avvik og avkodet-utdata-grenser
Bygging og distribusjon
build-HotPDF-Codec-Worker.cmd
Byggekommandoen sender ut separate Win32- og Win64-arbeidere under tools\CodecWorker\<platform>\Release; distribuer den arbeideren som matcher vertsprosess-arkitekturen