作成者がアプリケーションの作業を停止してから、私は数年間アプリケーションを維持しています。このアプリケーションは、サイズ変更、テキストの適用、ロゴの追加など、大量の画像に対してバッチ操作を実行します。
最近、効率を改善し、使用可能なすべてのメモリを使用して操作を複数のスレッドに分割することにより、システムのすべての機能を完全に使用するために、このアプリケーションを書き直しています。
以前のメンテナは、UIスレッドで長い操作を実行する(操作不能にした停止ボタンをレンダリングする)、非常に小さなスレッドプールを使用するなど、ややひどい方法でマルチスレッドを実装していました。
だから私はコードを最適化し、スレッドプールのサイズを増やしてみましたが、どうやら何も改善されていないようです。ボトルネックはディスクの読み取りと書き込みのようです。
この状況を改善する方法はありますか?