SWT を使用して RAW ビットマップ イメージを JPEG に圧縮します。イメージを BufferedOutputStream に書き込んで、ソケット経由でバイトを送信しています。問題は、圧縮に時間がかかることです (約 150 ミリ秒)。プロセス全体をスピードアップするための提案はありますか?
bos.reset();
imageLoader.save(bos, SWT.IMAGE_JPEG);
SWT を使用して RAW ビットマップ イメージを JPEG に圧縮します。イメージを BufferedOutputStream に書き込んで、ソケット経由でバイトを送信しています。問題は、圧縮に時間がかかることです (約 150 ミリ秒)。プロセス全体をスピードアップするための提案はありますか?
bos.reset();
imageLoader.save(bos, SWT.IMAGE_JPEG);
1 つの可能性は、画像を圧縮せずに送信することです。有効なネットワーク スループット レートが十分に高い場合、画像の送信よりも圧縮に時間がかかる可能性があります。
もう 1 つの可能性は、次の画像を圧縮すると同時に 1 つの画像を送信するように、プロセスをパイプライン化することです。複数のコアがある場合は、複数のスレッドを使用して圧縮を行う価値があります。
ファローアップ
圧縮が不可欠な場合は、おそらく JPEG を使用するのが最善です。ただし、JPEG 圧縮は非可逆圧縮であり、失われた詳細は決して復元できないことに注意してください。(対照的に、あなたが試したデフレーターはロスレスでした。)