Native FPC-codecs en parallelle rendering

Windows FPC-builds kunnen HotPDFFPCCodecs.dll gebruiken voor TIFF, JPEG, JPEG 2000, LittleCMS-kleuromzetting, JBIG2-codering/-decodering en Zopfli-compressie

De bridge wordt gebouwd uit de gebundelde third-party-bronnen van de repository met een statische C-runtime; gebruik Lib/thirdparty/FPC/Build-Codecs.ps1 om bijpassende Win32- of Win64-binaries te genereren

Zet de bijpassende DLL naast het uitvoerbare bestand van de applicatie; de loader gebruikt dat expliciete pad en controleert ABI-versie, pointerbreedte en de volledige exportset voordat native codecs worden ingeschakeld

Ontbrekende of incompatibele native libraries schakelen hun mogelijkheden veilig uit; ondersteunde Pascal-fallbacks blijven beschikbaar en niet-ondersteunde codec-aanroepen falen expliciet

Parallelle PDF-rendering

FPC-pagina-, ordered-page-, tile- en band-rendering gebruiken nu expliciete worker-threads, met dezelfde geheugentoelating, begrensde uitvoerwachtrijen, geordende aflevering op de aanroepende thread, annulering en exception-opruiming als de Delphi-pipeline

Bewerkingsconfiguratie, ICC-arrays en cancellation-token-verwijzingen worden aan het begin vastgelegd; elke worker bezit zijn eigen renderer terwijl immutable display lists en gesynchroniseerde caches worden gedeeld

Houd het document in leven en bewerk de pagina-inhoud niet terwijl een parallelle render loopt

JPEG 2000-decodering in tegels gebruikt ook expliciete FPC-worker-threads, met pixel-equivalentie tussen serieel en parallel en coöperatieve annulering

Verificatie

Tests/FPC/Run-NativeCodecTests.ps1 oefent beide architecturen, native codec-roundtrips, ontbrekende/incompatibele DLL's, gereduceerde JPEG-decodering, echte threadoverlap, pixelgelijkheid tussen serieel en parallel, callbackvolgorde, budgetten, annulering en herstel na callbackfouten