FPC ネイティブコーデックと並列レンダリング

Windows FPC ビルドは、TIFF、JPEG、JPEG 2000、LittleCMS カラー変換、JBIG2 エンコード/デコード、Zopfli 圧縮に HotPDFFPCCodecs.dll を使用できます

このブリッジはリポジトリ同梱のサードパーティーソースから静的 C ランタイム付きでビルドされます。一致する Win32 または Win64 バイナリの生成には Lib/thirdparty/FPC/Build-Codecs.ps1 を使ってください

一致する DLL をアプリケーション実行ファイルの隣に配置します。ローダーはその明示的なパスを使用し、ネイティブコーデックを有効化する前に ABI バージョン、ポインタ幅、完全なエクスポートセットを確認します

ネイティブライブラリが欠けていたり非互換だったりする場合、そのケイパビリティは安全に無効化されます。対応する Pascal フォールバックは引き続き利用でき、非対応のコーデック呼び出しは明示的に失敗します

並列 PDF レンダリング

FPC のページ、順序付きページ、タイル、バンドの各レンダリングは明示的なワーカースレッドを使うようになり、Delphi パイプラインと同じメモリ受け入れ制御、上限付き出力キュー、呼び出し側スレッドへの順序付き配信、キャンセル、例外クリーンアップを備えます

操作設定、ICC 配列、キャンセルトークン参照は開始時にキャプチャされます。各ワーカーは自身のレンダラーを所有し、不変のディスプレイリストと同期されたキャッシュは共有されます

並列レンダリングの実行中はドキュメントを生存させ続け、ページコンテンツを編集しないでください

JPEG 2000 のタイル化デコードも明示的な FPC ワーカースレッドを使い、逐次/並列のピクセル等価性と協調キャンセルを備えます

検証

Tests/FPC/Run-NativeCodecTests.ps1 は、両アーキテクチャ、ネイティブコーデックのラウンドトリップ、欠落/非互換 DLL、縮小 JPEG デコード、実際のスレッドオーバーラップ、逐次/並列ピクセル等価、コールバック順序、予算、キャンセル、コールバックエラー後のリカバリーを検証します