画像をテキストRRR GGG BBB
文字列配列に変換するアプリを作成しています。
小さな画像では非常に高速に動作しますが、入力画像のピクセル数が非常に多い場合、アプリの速度は徐々に低下します。
アプリケーションはx,y
、入力画像のすべてのピクセルに対してループを実行し、各ピクセルをスキャンして、その RGB 形式の値を最終的な文字列に追加します。この文字列は、画像全体がスキャンされた後にテキストとして保存されます。
System.String.Concat(string,string)
組み込みのプロファイラーの助けを借りて、最終的な文字列が大きくなるほど時間がかかることがわかりました。
次に、1行の計算結果を保存し、次の行に入る前にそれを最終的な文字列に追加する一時的な文字列を作成しようとしました。現在は約 10 倍速く動作しますが、それでも終盤に近づくとパフォーマンスが低下します。
しかし、最終的には、すべてのテスト画像が実際の画像よりも小さくなります。さらに大きな画像でも連結速度を高く保つにはどうすればよいですか?