高速スキャナー用に最適化された画像取得アプリケーションを作成しようとしています(150ppmの速度で各用紙に最大6つの圧縮画像[カラー+グレー+バイナリ][フロント+リア]を提供できます)速度の問題があります。TWAINテクノロジとメモリバッファ転送モード(TWSX_MEMORY)を使用して、スキャナーからイメージバッファー(メモリにロードされたJPEGまたはTIFFファイルとして)を受け取り、アプリケーションの宛先パスに保存します。サムネイルを作成したくない場合、アプリケーションによってスキャナーの速度が低下することはありませんが、作成する方法により(C ++ TWAIN処理dllのファイルにバッファーを保存し、.NETホストアプリケーションに通知します)関数ポインタを使用して宛先ファイルのパスを指定し、C#で画像ファイルを開き、サムネイル画像を作成すると、私のアプリケーションではスキャン速度が大幅に低下します。別のスレッドでロードフェーズを実行し、アンマネージドイメージファイルバッファーを.NETホストに送信し、安全でないコンテキスト(UnmanagedMemoryStream)でロードしてサムネイルを作成するなど、いくつかの最適化を試みました。しかし、速度は大幅に向上しませんでした。だから私の質問は:
メモリに画像ファイルバッファがある場合(たとえば、サムネイルを埋め込まずに圧縮された24ビットJPEG)、そこからサムネイル画像をすばやく直接作成する方法はありますか?この場合、サムネイルを作成するための最速の方法として何を提案しますか?