注意点
本節での処理時間計測は、Releaseビルドのデバッグなしで実行しています。現状の把握
まずは現状のソースファイルですが、以下のようになっているかと思います。この状態で、1280×1024の画像をグレースケール化すると、(私の環境では)概ね1156ms程度かかります。計測点を、ネストしているfor文の前後に移動しても、さほど違いが見られなかったため、このネストしているfor文の処理時間が短縮できれば、全体の処理速度も速くなるはずです。
記述こそ単純ですが、無駄な計算を何度も行っており、非常に遅いです。これから順にチューンアップしていきます。
まず、インデックスの算出を何度も繰り返しているため、その部分に手を入れます。
これで、400msほど高速化できました。
次に、インデックスのY成分を算出している部分は、Xのループの外に出せますので、修正します。
これで、300msほど高速化できました。
インデックス記述ではなく、ポインタの参照外しに修正します。
若干ではありますが高速化しているようです。
最終的には、以下となりました。
処理速度も、申し分ないレベルです。




0 コメント:
コメントを投稿