Nativní kodeky FPC a paralelní renderování

Buildy FPC na Windows můžou použít HotPDFFPCCodecs.dll pro TIFF, JPEG, JPEG 2000, konverzi barev přes LittleCMS, kódování a dekódování JBIG2 a kompresi Zopfli

Most se staví ze zdrojů třetích stran dodaných v repozitáři se statickým C runtime; odpovídající binárky Win32 nebo Win64 vygenerujete přes Lib/thirdparty/FPC/Build-Codecs.ps1

Odpovídající DLL nasaďte vedle spustitelného souboru aplikace; loader používá tuto explicitní cestu a před zapnutím nativních kodeků zkontroluje verzi ABI, šířku ukazatele a kompletní sadu exportů

Chybějící nebo nekompatibilní nativní knihovny bezpečně vypnou své schopnosti; podporované Pascal fallbacky zůstávají dostupné a nepodporovaná volání kodeků selžou explicitně

Paralelní renderování PDF

Renderování stránek, seřazených stránek, tile a band ve FPC nyní používá explicitní worker vlákna, se stejným vpuštěním do paměti, ohraničenými výstupními frontami, doručováním v pořadí do vlákna volajícího, zrušením a úklidem výjimek jako pipeline v Delphi

Konfigurace operace, pole ICC a odkazy na tokeny zrušení se zachytí na začátku; každý worker vlastní svůj renderer, zatímco neměnné display listy a synchronizované cache se sdílejí

Dokument udržujte na živu a neupravujte obsah jeho stránek, dokud paralelní render běží

Dekódování JPEG 2000 po tile také používá explicitní worker vlákna FPC, s rovností pixelů serial/parallel a kooperativním zrušením

Ověření

Tests/FPC/Run-NativeCodecTests.ps1 prověří obě architektury, round tripy nativních kodeků, chybějící i nekompatibilní DLL, omezené dekódování JPEG, skutečné překrývání vláken, rovnost pixelů serial/parallel, pořadí callbacků, budgety, zrušení a zotavení po chybách callbacků