Нативні кодеки FPC і паралельний рендеринг
Збірки FPC під Windows можуть використовувати HotPDFFPCCodecs.dll для TIFF, JPEG, JPEG 2000, перетворення кольорів LittleCMS, кодування/декодування JBIG2 і компресії Zopfli
Міст збирається з постачаних у репозиторії сторонніх джерел зі статичним C-рантаймом; для генерації відповідних бінарників Win32 або Win64 використовуйте Lib/thirdparty/FPC/Build-Codecs.ps1
Розгорніть відповідну DLL поруч із виконуваним файлом застосунку; завантажувач бере саме цей явний шлях і перевіряє версію ABI, розрядність вказівника та повний набір експортів, перш ніж увімкнути нативні кодеки
Відсутні або несумісні нативні бібліотеки безпечно вимикають свої можливості; підтримувані Pascal-резерви залишаються доступними, а виклики непідтримуваних кодеків падають із явною помилкою
Паралельний рендеринг PDF
Рендеринг сторінок, упорядкованих сторінок, тайлів і смуг у FPC тепер використовує явні робочі потоки з тими самими, що й конвеєр Delphi, допуском пам'яті, обмеженими чергами виводу, упорядкованою доставкою в поток викликача, скасуванням та прибиранням після винятків
Конфігурація операції, масиви ICC і посилання на токени скасування фіксуються на старті; кожен робочий потік володіє власним рендерером, тоді як незмінні display lists і синхронізовані кеші є спільними
Утримуйте документ живим і не редагуйте вміст його сторінок, доки триває паралельний рендеринг
Тайлове декодування JPEG 2000 також використовує явні робочі потоки FPC, з еквівалентністю послідовних/паралельних пікселів і кооперативним скасуванням
Перевірка
Tests/FPC/Run-NativeCodecTests.ps1 перевіряє обидві архітектури, проходи туди й назад для нативних кодеків, відсутні/несумісні DLL, скорочене декодування JPEG, справжнє перекриття потоків, рівність послідовних/паралельних пікселів, порядок колбеків, бюджети, скасування та відновлення після помилок колбеків